diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index c264809e6f648..a747500cc1fe8 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -191,6 +191,7 @@ com.azure.resourcemanager:azure-resourcemanager-kusto;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-loganalytics;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-eventgrid;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-healthbot;1.0.0-beta.1;1.0.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-monitor-generated;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/CHANGELOG.md b/sdk/monitor/azure-resourcemanager-monitor-generated/CHANGELOG.md
new file mode 100644
index 0000000000000..7ab2196c4974d
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-01-10)
+
+- Azure Resource Manager Monitor client library for Java. This package contains Microsoft Azure SDK for Monitor Management SDK. Monitor Management Client. Package tag package-2019-06. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
\ No newline at end of file
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/README.md b/sdk/monitor/azure-resourcemanager-monitor-generated/README.md
new file mode 100644
index 0000000000000..68d7c16f94c18
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/README.md
@@ -0,0 +1,83 @@
+# Azure Resource Manager Monitor client library for Java
+
+Azure Resource Manager Monitor client library for Java.
+
+This package contains Microsoft Azure SDK for Monitor Management SDK. Monitor Management Client. Package tag package-2019-06. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-monitor-generated;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-monitor-generated
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+MonitorManager manager = MonitorManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/pom.xml b/sdk/monitor/azure-resourcemanager-monitor-generated/pom.xml
new file mode 100644
index 0000000000000..a2a8609035c28
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/pom.xml
@@ -0,0 +1,62 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-monitor-generated
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for Monitor Management
+ This package contains Microsoft Azure SDK for Monitor Management SDK. Monitor Management Client. Package tag package-2019-06. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core-management
+ 1.0.0
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+
+
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/MonitorManager.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/MonitorManager.java
new file mode 100644
index 0000000000000..3aa0f9a91b3b7
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/MonitorManager.java
@@ -0,0 +1,441 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.fluent.MonitorClient;
+import com.azure.resourcemanager.monitor.generated.implementation.ActionGroupsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.ActivityLogAlertsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.ActivityLogsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.AlertRuleIncidentsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.AlertRulesImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.AutoscaleSettingsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.BaselinesImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.DiagnosticSettingsCategoriesImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.DiagnosticSettingsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.EventCategoriesImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.LogProfilesImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.MetricAlertsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.MetricAlertsStatusImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.MetricBaselinesImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.MetricDefinitionsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.MetricNamespacesImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.MetricsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.MonitorClientBuilder;
+import com.azure.resourcemanager.monitor.generated.implementation.OperationsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.ScheduledQueryRulesImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.TenantActivityLogsImpl;
+import com.azure.resourcemanager.monitor.generated.implementation.VMInsightsImpl;
+import com.azure.resourcemanager.monitor.generated.models.ActionGroups;
+import com.azure.resourcemanager.monitor.generated.models.ActivityLogAlerts;
+import com.azure.resourcemanager.monitor.generated.models.ActivityLogs;
+import com.azure.resourcemanager.monitor.generated.models.AlertRuleIncidents;
+import com.azure.resourcemanager.monitor.generated.models.AlertRules;
+import com.azure.resourcemanager.monitor.generated.models.AutoscaleSettings;
+import com.azure.resourcemanager.monitor.generated.models.Baselines;
+import com.azure.resourcemanager.monitor.generated.models.DiagnosticSettings;
+import com.azure.resourcemanager.monitor.generated.models.DiagnosticSettingsCategories;
+import com.azure.resourcemanager.monitor.generated.models.EventCategories;
+import com.azure.resourcemanager.monitor.generated.models.LogProfiles;
+import com.azure.resourcemanager.monitor.generated.models.MetricAlerts;
+import com.azure.resourcemanager.monitor.generated.models.MetricAlertsStatus;
+import com.azure.resourcemanager.monitor.generated.models.MetricBaselines;
+import com.azure.resourcemanager.monitor.generated.models.MetricDefinitions;
+import com.azure.resourcemanager.monitor.generated.models.MetricNamespaces;
+import com.azure.resourcemanager.monitor.generated.models.Metrics;
+import com.azure.resourcemanager.monitor.generated.models.Operations;
+import com.azure.resourcemanager.monitor.generated.models.ScheduledQueryRules;
+import com.azure.resourcemanager.monitor.generated.models.TenantActivityLogs;
+import com.azure.resourcemanager.monitor.generated.models.VMInsights;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/** Entry point to MonitorManager. Monitor Management Client. */
+public final class MonitorManager {
+ private AutoscaleSettings autoscaleSettings;
+
+ private Operations operations;
+
+ private AlertRuleIncidents alertRuleIncidents;
+
+ private AlertRules alertRules;
+
+ private LogProfiles logProfiles;
+
+ private DiagnosticSettings diagnosticSettings;
+
+ private DiagnosticSettingsCategories diagnosticSettingsCategories;
+
+ private ActionGroups actionGroups;
+
+ private ActivityLogAlerts activityLogAlerts;
+
+ private ActivityLogs activityLogs;
+
+ private EventCategories eventCategories;
+
+ private TenantActivityLogs tenantActivityLogs;
+
+ private MetricDefinitions metricDefinitions;
+
+ private Metrics metrics;
+
+ private MetricBaselines metricBaselines;
+
+ private Baselines baselines;
+
+ private MetricAlerts metricAlerts;
+
+ private MetricAlertsStatus metricAlertsStatus;
+
+ private ScheduledQueryRules scheduledQueryRules;
+
+ private MetricNamespaces metricNamespaces;
+
+ private VMInsights vMInsights;
+
+ private final MonitorClient clientObject;
+
+ private MonitorManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new MonitorClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of Monitor service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Monitor service API instance.
+ */
+ public static MonitorManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create MonitorManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new MonitorManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Monitor service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Monitor service API instance.
+ */
+ public MonitorManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ if (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies
+ .add(
+ new UserAgentPolicy(
+ null,
+ "com.azure.resourcemanager.monitor.generated",
+ "1.0.0-beta.1",
+ Configuration.getGlobalConfiguration()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies
+ .add(
+ new BearerTokenAuthenticationPolicy(
+ credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new MonitorManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of AutoscaleSettings. */
+ public AutoscaleSettings autoscaleSettings() {
+ if (this.autoscaleSettings == null) {
+ this.autoscaleSettings = new AutoscaleSettingsImpl(clientObject.getAutoscaleSettings(), this);
+ }
+ return autoscaleSettings;
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of AlertRuleIncidents. */
+ public AlertRuleIncidents alertRuleIncidents() {
+ if (this.alertRuleIncidents == null) {
+ this.alertRuleIncidents = new AlertRuleIncidentsImpl(clientObject.getAlertRuleIncidents(), this);
+ }
+ return alertRuleIncidents;
+ }
+
+ /** @return Resource collection API of AlertRules. */
+ public AlertRules alertRules() {
+ if (this.alertRules == null) {
+ this.alertRules = new AlertRulesImpl(clientObject.getAlertRules(), this);
+ }
+ return alertRules;
+ }
+
+ /** @return Resource collection API of LogProfiles. */
+ public LogProfiles logProfiles() {
+ if (this.logProfiles == null) {
+ this.logProfiles = new LogProfilesImpl(clientObject.getLogProfiles(), this);
+ }
+ return logProfiles;
+ }
+
+ /** @return Resource collection API of DiagnosticSettings. */
+ public DiagnosticSettings diagnosticSettings() {
+ if (this.diagnosticSettings == null) {
+ this.diagnosticSettings = new DiagnosticSettingsImpl(clientObject.getDiagnosticSettings(), this);
+ }
+ return diagnosticSettings;
+ }
+
+ /** @return Resource collection API of DiagnosticSettingsCategories. */
+ public DiagnosticSettingsCategories diagnosticSettingsCategories() {
+ if (this.diagnosticSettingsCategories == null) {
+ this.diagnosticSettingsCategories =
+ new DiagnosticSettingsCategoriesImpl(clientObject.getDiagnosticSettingsCategories(), this);
+ }
+ return diagnosticSettingsCategories;
+ }
+
+ /** @return Resource collection API of ActionGroups. */
+ public ActionGroups actionGroups() {
+ if (this.actionGroups == null) {
+ this.actionGroups = new ActionGroupsImpl(clientObject.getActionGroups(), this);
+ }
+ return actionGroups;
+ }
+
+ /** @return Resource collection API of ActivityLogAlerts. */
+ public ActivityLogAlerts activityLogAlerts() {
+ if (this.activityLogAlerts == null) {
+ this.activityLogAlerts = new ActivityLogAlertsImpl(clientObject.getActivityLogAlerts(), this);
+ }
+ return activityLogAlerts;
+ }
+
+ /** @return Resource collection API of ActivityLogs. */
+ public ActivityLogs activityLogs() {
+ if (this.activityLogs == null) {
+ this.activityLogs = new ActivityLogsImpl(clientObject.getActivityLogs(), this);
+ }
+ return activityLogs;
+ }
+
+ /** @return Resource collection API of EventCategories. */
+ public EventCategories eventCategories() {
+ if (this.eventCategories == null) {
+ this.eventCategories = new EventCategoriesImpl(clientObject.getEventCategories(), this);
+ }
+ return eventCategories;
+ }
+
+ /** @return Resource collection API of TenantActivityLogs. */
+ public TenantActivityLogs tenantActivityLogs() {
+ if (this.tenantActivityLogs == null) {
+ this.tenantActivityLogs = new TenantActivityLogsImpl(clientObject.getTenantActivityLogs(), this);
+ }
+ return tenantActivityLogs;
+ }
+
+ /** @return Resource collection API of MetricDefinitions. */
+ public MetricDefinitions metricDefinitions() {
+ if (this.metricDefinitions == null) {
+ this.metricDefinitions = new MetricDefinitionsImpl(clientObject.getMetricDefinitions(), this);
+ }
+ return metricDefinitions;
+ }
+
+ /** @return Resource collection API of Metrics. */
+ public Metrics metrics() {
+ if (this.metrics == null) {
+ this.metrics = new MetricsImpl(clientObject.getMetrics(), this);
+ }
+ return metrics;
+ }
+
+ /** @return Resource collection API of MetricBaselines. */
+ public MetricBaselines metricBaselines() {
+ if (this.metricBaselines == null) {
+ this.metricBaselines = new MetricBaselinesImpl(clientObject.getMetricBaselines(), this);
+ }
+ return metricBaselines;
+ }
+
+ /** @return Resource collection API of Baselines. */
+ public Baselines baselines() {
+ if (this.baselines == null) {
+ this.baselines = new BaselinesImpl(clientObject.getBaselines(), this);
+ }
+ return baselines;
+ }
+
+ /** @return Resource collection API of MetricAlerts. */
+ public MetricAlerts metricAlerts() {
+ if (this.metricAlerts == null) {
+ this.metricAlerts = new MetricAlertsImpl(clientObject.getMetricAlerts(), this);
+ }
+ return metricAlerts;
+ }
+
+ /** @return Resource collection API of MetricAlertsStatus. */
+ public MetricAlertsStatus metricAlertsStatus() {
+ if (this.metricAlertsStatus == null) {
+ this.metricAlertsStatus = new MetricAlertsStatusImpl(clientObject.getMetricAlertsStatus(), this);
+ }
+ return metricAlertsStatus;
+ }
+
+ /** @return Resource collection API of ScheduledQueryRules. */
+ public ScheduledQueryRules scheduledQueryRules() {
+ if (this.scheduledQueryRules == null) {
+ this.scheduledQueryRules = new ScheduledQueryRulesImpl(clientObject.getScheduledQueryRules(), this);
+ }
+ return scheduledQueryRules;
+ }
+
+ /** @return Resource collection API of MetricNamespaces. */
+ public MetricNamespaces metricNamespaces() {
+ if (this.metricNamespaces == null) {
+ this.metricNamespaces = new MetricNamespacesImpl(clientObject.getMetricNamespaces(), this);
+ }
+ return metricNamespaces;
+ }
+
+ /** @return Resource collection API of VMInsights. */
+ public VMInsights vMInsights() {
+ if (this.vMInsights == null) {
+ this.vMInsights = new VMInsightsImpl(clientObject.getVMInsights(), this);
+ }
+ return vMInsights;
+ }
+
+ /**
+ * @return Wrapped service client MonitorClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ */
+ public MonitorClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActionGroupsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActionGroupsClient.java
new file mode 100644
index 0000000000000..6f412984f5141
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActionGroupsClient.java
@@ -0,0 +1,211 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.ActionGroupResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.ActionGroupPatchBody;
+import com.azure.resourcemanager.monitor.generated.models.EnableRequest;
+
+/** An instance of this class provides access to all the operations defined in ActionGroupsClient. */
+public interface ActionGroupsClient {
+ /**
+ * Create a new action group or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroup The action group to create or use for the update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActionGroupResourceInner createOrUpdate(
+ String resourceGroupName, String actionGroupName, ActionGroupResourceInner actionGroup);
+
+ /**
+ * Create a new action group or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroup The action group to create or use for the update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String actionGroupName, ActionGroupResourceInner actionGroup, Context context);
+
+ /**
+ * Get an action group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActionGroupResourceInner getByResourceGroup(String resourceGroupName, String actionGroupName);
+
+ /**
+ * Get an action group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String actionGroupName, Context context);
+
+ /**
+ * Delete an action group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String actionGroupName);
+
+ /**
+ * Delete an action group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String actionGroupName, Context context);
+
+ /**
+ * Updates an existing action group's tags. To update other fields use the CreateOrUpdate method.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroupPatch Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActionGroupResourceInner update(
+ String resourceGroupName, String actionGroupName, ActionGroupPatchBody actionGroupPatch);
+
+ /**
+ * Updates an existing action group's tags. To update other fields use the CreateOrUpdate method.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroupPatch Parameters supplied to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String actionGroupName, ActionGroupPatchBody actionGroupPatch, Context context);
+
+ /**
+ * Get a list of all action groups in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all action groups in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Get a list of all action groups in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all action groups in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Get a list of all action groups in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all action groups in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Get a list of all action groups in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all action groups in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Enable a receiver in an action group. This changes the receiver's status from Disabled to Enabled. This operation
+ * is only supported for Email or SMS receivers.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param enableRequest The receiver to re-enable.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void enableReceiver(String resourceGroupName, String actionGroupName, EnableRequest enableRequest);
+
+ /**
+ * Enable a receiver in an action group. This changes the receiver's status from Disabled to Enabled. This operation
+ * is only supported for Email or SMS receivers.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param enableRequest The receiver to re-enable.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response enableReceiverWithResponse(
+ String resourceGroupName, String actionGroupName, EnableRequest enableRequest, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActivityLogAlertsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActivityLogAlertsClient.java
new file mode 100644
index 0000000000000..446b44958b5f2
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActivityLogAlertsClient.java
@@ -0,0 +1,185 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.ActivityLogAlertResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.ActivityLogAlertPatchBody;
+
+/** An instance of this class provides access to all the operations defined in ActivityLogAlertsClient. */
+public interface ActivityLogAlertsClient {
+ /**
+ * Create a new activity log alert or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param activityLogAlertName The name of the activity log alert.
+ * @param activityLogAlert The activity log alert to create or use for the update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an activity log alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActivityLogAlertResourceInner createOrUpdate(
+ String resourceGroupName, String activityLogAlertName, ActivityLogAlertResourceInner activityLogAlert);
+
+ /**
+ * Create a new activity log alert or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param activityLogAlertName The name of the activity log alert.
+ * @param activityLogAlert The activity log alert to create or use for the update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an activity log alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String activityLogAlertName,
+ ActivityLogAlertResourceInner activityLogAlert,
+ Context context);
+
+ /**
+ * Get an activity log alert.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param activityLogAlertName The name of the activity log alert.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an activity log alert.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActivityLogAlertResourceInner getByResourceGroup(String resourceGroupName, String activityLogAlertName);
+
+ /**
+ * Get an activity log alert.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param activityLogAlertName The name of the activity log alert.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an activity log alert.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String activityLogAlertName, Context context);
+
+ /**
+ * Delete an activity log alert.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param activityLogAlertName The name of the activity log alert.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String activityLogAlertName);
+
+ /**
+ * Delete an activity log alert.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param activityLogAlertName The name of the activity log alert.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String activityLogAlertName, Context context);
+
+ /**
+ * Updates an existing ActivityLogAlertResource's tags. To update other fields use the CreateOrUpdate method.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param activityLogAlertName The name of the activity log alert.
+ * @param activityLogAlertPatch Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an activity log alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActivityLogAlertResourceInner update(
+ String resourceGroupName, String activityLogAlertName, ActivityLogAlertPatchBody activityLogAlertPatch);
+
+ /**
+ * Updates an existing ActivityLogAlertResource's tags. To update other fields use the CreateOrUpdate method.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param activityLogAlertName The name of the activity log alert.
+ * @param activityLogAlertPatch Parameters supplied to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an activity log alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String activityLogAlertName,
+ ActivityLogAlertPatchBody activityLogAlertPatch,
+ Context context);
+
+ /**
+ * Get a list of all activity log alerts in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all activity log alerts in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Get a list of all activity log alerts in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all activity log alerts in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Get a list of all activity log alerts in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all activity log alerts in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Get a list of all activity log alerts in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all activity log alerts in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActivityLogsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActivityLogsClient.java
new file mode 100644
index 0000000000000..23ab5e62e6726
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ActivityLogsClient.java
@@ -0,0 +1,68 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.EventDataInner;
+
+/** An instance of this class provides access to all the operations defined in ActivityLogsClient. */
+public interface ActivityLogsClient {
+ /**
+ * Provides the list of records from the activity logs.
+ *
+ * @param filter Reduces the set of data collected.<br>This argument is required and it also requires at least
+ * the start date/time.<br>The **$filter** argument is very restricted and allows only the following
+ * patterns.<br>- *List events for a resource group*: $filter=eventTimestamp ge
+ * '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z' and resourceGroupName eq
+ * 'resourceGroupName'.<br>- *List events for resource*: $filter=eventTimestamp ge
+ * '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z' and resourceUri eq
+ * 'resourceURI'.<br>- *List events for a subscription in a time range*: $filter=eventTimestamp ge
+ * '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z'.<br>- *List events
+ * for a resource provider*: $filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le
+ * '2014-07-20T04:36:37.6407898Z' and resourceProvider eq 'resourceProviderName'.<br>- *List events for a
+ * correlation Id*: $filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le
+ * '2014-07-20T04:36:37.6407898Z' and correlationId eq 'correlationID'.<br><br>**NOTE**: No other
+ * syntax is allowed.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents collection of events.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter);
+
+ /**
+ * Provides the list of records from the activity logs.
+ *
+ * @param filter Reduces the set of data collected.<br>This argument is required and it also requires at least
+ * the start date/time.<br>The **$filter** argument is very restricted and allows only the following
+ * patterns.<br>- *List events for a resource group*: $filter=eventTimestamp ge
+ * '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z' and resourceGroupName eq
+ * 'resourceGroupName'.<br>- *List events for resource*: $filter=eventTimestamp ge
+ * '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z' and resourceUri eq
+ * 'resourceURI'.<br>- *List events for a subscription in a time range*: $filter=eventTimestamp ge
+ * '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z'.<br>- *List events
+ * for a resource provider*: $filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le
+ * '2014-07-20T04:36:37.6407898Z' and resourceProvider eq 'resourceProviderName'.<br>- *List events for a
+ * correlation Id*: $filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le
+ * '2014-07-20T04:36:37.6407898Z' and correlationId eq 'correlationID'.<br><br>**NOTE**: No other
+ * syntax is allowed.
+ * @param select Used to fetch events with only the given properties.<br>The **$select** argument is a comma
+ * separated list of property names to be returned. Possible values are: *authorization*, *claims*,
+ * *correlationId*, *description*, *eventDataId*, *eventName*, *eventTimestamp*, *httpRequest*, *level*,
+ * *operationId*, *operationName*, *properties*, *resourceGroupName*, *resourceProviderName*, *resourceId*,
+ * *status*, *submissionTimestamp*, *subStatus*, *subscriptionId*.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents collection of events.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, String select, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AlertRuleIncidentsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AlertRuleIncidentsClient.java
new file mode 100644
index 0000000000000..d38277e124d37
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AlertRuleIncidentsClient.java
@@ -0,0 +1,72 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.IncidentInner;
+
+/** An instance of this class provides access to all the operations defined in AlertRuleIncidentsClient. */
+public interface AlertRuleIncidentsClient {
+ /**
+ * Gets an incident associated to an alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param incidentName The name of the incident to retrieve.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an incident associated to an alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IncidentInner get(String resourceGroupName, String ruleName, String incidentName);
+
+ /**
+ * Gets an incident associated to an alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param incidentName The name of the incident to retrieve.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an incident associated to an alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String ruleName, String incidentName, Context context);
+
+ /**
+ * Gets a list of incidents associated to an alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of incidents associated to an alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAlertRule(String resourceGroupName, String ruleName);
+
+ /**
+ * Gets a list of incidents associated to an alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of incidents associated to an alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAlertRule(String resourceGroupName, String ruleName, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AlertRulesClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AlertRulesClient.java
new file mode 100644
index 0000000000000..66ca94d744bc0
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AlertRulesClient.java
@@ -0,0 +1,177 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.AlertRuleResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.AlertRuleResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in AlertRulesClient. */
+public interface AlertRulesClient {
+ /**
+ * Creates or updates a classic metric alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the alert rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertRuleResourceInner createOrUpdate(String resourceGroupName, String ruleName, AlertRuleResourceInner parameters);
+
+ /**
+ * Creates or updates a classic metric alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the alert rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String ruleName, AlertRuleResourceInner parameters, Context context);
+
+ /**
+ * Deletes a classic metric alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String ruleName);
+
+ /**
+ * Deletes a classic metric alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String ruleName, Context context);
+
+ /**
+ * Gets a classic metric alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a classic metric alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertRuleResourceInner getByResourceGroup(String resourceGroupName, String ruleName);
+
+ /**
+ * Gets a classic metric alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a classic metric alert rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String ruleName, Context context);
+
+ /**
+ * Updates an existing classic metric AlertRuleResource. To update other fields use the CreateOrUpdate method.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param alertRulesResource Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the alert rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertRuleResourceInner update(String resourceGroupName, String ruleName, AlertRuleResourcePatch alertRulesResource);
+
+ /**
+ * Updates an existing classic metric AlertRuleResource. To update other fields use the CreateOrUpdate method.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param alertRulesResource Parameters supplied to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the alert rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String ruleName, AlertRuleResourcePatch alertRulesResource, Context context);
+
+ /**
+ * List the classic metric alert rules within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List the classic metric alert rules within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List the classic metric alert rules within a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the classic metric alert rules within a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AutoscaleSettingsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AutoscaleSettingsClient.java
new file mode 100644
index 0000000000000..7280982442553
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/AutoscaleSettingsClient.java
@@ -0,0 +1,185 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.AutoscaleSettingResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.AutoscaleSettingResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in AutoscaleSettingsClient. */
+public interface AutoscaleSettingsClient {
+ /**
+ * Lists the autoscale settings for a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of autoscale setting resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists the autoscale settings for a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of autoscale setting resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Creates or updates an autoscale setting.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param autoscaleSettingName The autoscale setting name.
+ * @param parameters Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the autoscale setting resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutoscaleSettingResourceInner createOrUpdate(
+ String resourceGroupName, String autoscaleSettingName, AutoscaleSettingResourceInner parameters);
+
+ /**
+ * Creates or updates an autoscale setting.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param autoscaleSettingName The autoscale setting name.
+ * @param parameters Parameters supplied to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the autoscale setting resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String autoscaleSettingName,
+ AutoscaleSettingResourceInner parameters,
+ Context context);
+
+ /**
+ * Deletes and autoscale setting.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param autoscaleSettingName The autoscale setting name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String autoscaleSettingName);
+
+ /**
+ * Deletes and autoscale setting.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param autoscaleSettingName The autoscale setting name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String autoscaleSettingName, Context context);
+
+ /**
+ * Gets an autoscale setting.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param autoscaleSettingName The autoscale setting name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an autoscale setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutoscaleSettingResourceInner getByResourceGroup(String resourceGroupName, String autoscaleSettingName);
+
+ /**
+ * Gets an autoscale setting.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param autoscaleSettingName The autoscale setting name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an autoscale setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String autoscaleSettingName, Context context);
+
+ /**
+ * Updates an existing AutoscaleSettingsResource. To update other fields use the CreateOrUpdate method.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param autoscaleSettingName The autoscale setting name.
+ * @param autoscaleSettingResource Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the autoscale setting resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutoscaleSettingResourceInner update(
+ String resourceGroupName, String autoscaleSettingName, AutoscaleSettingResourcePatch autoscaleSettingResource);
+
+ /**
+ * Updates an existing AutoscaleSettingsResource. To update other fields use the CreateOrUpdate method.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param autoscaleSettingName The autoscale setting name.
+ * @param autoscaleSettingResource Parameters supplied to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the autoscale setting resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String autoscaleSettingName,
+ AutoscaleSettingResourcePatch autoscaleSettingResource,
+ Context context);
+
+ /**
+ * Lists the autoscale settings for a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of autoscale setting resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists the autoscale settings for a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of autoscale setting resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/BaselinesClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/BaselinesClient.java
new file mode 100644
index 0000000000000..683b5f0a66ed2
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/BaselinesClient.java
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.SingleMetricBaselineInner;
+import com.azure.resourcemanager.monitor.generated.models.ResultType;
+import java.time.Duration;
+
+/** An instance of this class provides access to all the operations defined in BaselinesClient. */
+public interface BaselinesClient {
+ /**
+ * **Lists the metric baseline values for a resource**.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of metric baselines.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceUri);
+
+ /**
+ * **Lists the metric baseline values for a resource**.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param metricnames The names of the metrics (comma separated) to retrieve.
+ * @param metricnamespace Metric namespace to query metric definitions for.
+ * @param timespan The timespan of the query. It is a string with the following format
+ * 'startDateTime_ISO/endDateTime_ISO'.
+ * @param interval The interval (i.e. timegrain) of the query.
+ * @param aggregation The list of aggregation types (comma separated) to retrieve.
+ * @param sensitivities The list of sensitivities (comma separated) to retrieve.
+ * @param filter The **$filter** is used to reduce the set of metric data
+ * returned.<br>Example:<br>Metric contains metadata A, B and C.<br>- Return all time series
+ * of C where A = a1 and B = b1 or b2<br>**$filter=A eq ‘a1’ and B eq ‘b1’ or B eq ‘b2’ and C eq
+ * ‘*’**<br>- Invalid variant:<br>**$filter=A eq ‘a1’ and B eq ‘b1’ and C eq ‘*’ or B =
+ * ‘b2’**<br>This is invalid because the logical or operator cannot separate two different metadata
+ * names.<br>- Return all time series where A = a1, B = b1 and C = c1:<br>**$filter=A eq ‘a1’ and B
+ * eq ‘b1’ and C eq ‘c1’**<br>- Return all time series where A = a1<br>**$filter=A eq ‘a1’ and B eq
+ * ‘*’ and C eq ‘*’**.
+ * @param resultType Allows retrieving only metadata of the baseline. On data request all information is retrieved.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of metric baselines.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceUri,
+ String metricnames,
+ String metricnamespace,
+ String timespan,
+ Duration interval,
+ String aggregation,
+ String sensitivities,
+ String filter,
+ ResultType resultType,
+ Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/DiagnosticSettingsCategoriesClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/DiagnosticSettingsCategoriesClient.java
new file mode 100644
index 0000000000000..f9694b67ecb15
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/DiagnosticSettingsCategoriesClient.java
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.DiagnosticSettingsCategoryResourceCollectionInner;
+import com.azure.resourcemanager.monitor.generated.fluent.models.DiagnosticSettingsCategoryResourceInner;
+
+/** An instance of this class provides access to all the operations defined in DiagnosticSettingsCategoriesClient. */
+public interface DiagnosticSettingsCategoriesClient {
+ /**
+ * Gets the diagnostic settings category for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param name The name of the diagnostic setting.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the diagnostic settings category for the specified resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiagnosticSettingsCategoryResourceInner get(String resourceUri, String name);
+
+ /**
+ * Gets the diagnostic settings category for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param name The name of the diagnostic setting.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the diagnostic settings category for the specified resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceUri, String name, Context context);
+
+ /**
+ * Lists the diagnostic settings categories for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of diagnostic setting category resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiagnosticSettingsCategoryResourceCollectionInner list(String resourceUri);
+
+ /**
+ * Lists the diagnostic settings categories for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of diagnostic setting category resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(String resourceUri, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/DiagnosticSettingsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/DiagnosticSettingsClient.java
new file mode 100644
index 0000000000000..b2145bec70adf
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/DiagnosticSettingsClient.java
@@ -0,0 +1,124 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.DiagnosticSettingsResourceCollectionInner;
+import com.azure.resourcemanager.monitor.generated.fluent.models.DiagnosticSettingsResourceInner;
+
+/** An instance of this class provides access to all the operations defined in DiagnosticSettingsClient. */
+public interface DiagnosticSettingsClient {
+ /**
+ * Gets the active diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param name The name of the diagnostic setting.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the active diagnostic settings for the specified resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiagnosticSettingsResourceInner get(String resourceUri, String name);
+
+ /**
+ * Gets the active diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param name The name of the diagnostic setting.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the active diagnostic settings for the specified resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceUri, String name, Context context);
+
+ /**
+ * Creates or updates diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param name The name of the diagnostic setting.
+ * @param parameters Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the diagnostic setting resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiagnosticSettingsResourceInner createOrUpdate(
+ String resourceUri, String name, DiagnosticSettingsResourceInner parameters);
+
+ /**
+ * Creates or updates diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param name The name of the diagnostic setting.
+ * @param parameters Parameters supplied to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the diagnostic setting resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceUri, String name, DiagnosticSettingsResourceInner parameters, Context context);
+
+ /**
+ * Deletes existing diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param name The name of the diagnostic setting.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceUri, String name);
+
+ /**
+ * Deletes existing diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param name The name of the diagnostic setting.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceUri, String name, Context context);
+
+ /**
+ * Gets the active diagnostic settings list for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the active diagnostic settings list for the specified resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DiagnosticSettingsResourceCollectionInner list(String resourceUri);
+
+ /**
+ * Gets the active diagnostic settings list for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the active diagnostic settings list for the specified resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(String resourceUri, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/EventCategoriesClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/EventCategoriesClient.java
new file mode 100644
index 0000000000000..cd57c4e94fb9b
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/EventCategoriesClient.java
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.LocalizableStringInner;
+
+/** An instance of this class provides access to all the operations defined in EventCategoriesClient. */
+public interface EventCategoriesClient {
+ /**
+ * Get the list of available event categories supported in the Activity Logs Service.<br>The current list
+ * includes the following: Administrative, Security, ServiceHealth, Alert, Recommendation, Policy.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of available event categories supported in the Activity Logs Service.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Get the list of available event categories supported in the Activity Logs Service.<br>The current list
+ * includes the following: Administrative, Security, ServiceHealth, Alert, Recommendation, Policy.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of available event categories supported in the Activity Logs Service.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/LogProfilesClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/LogProfilesClient.java
new file mode 100644
index 0000000000000..58c1201479ef9
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/LogProfilesClient.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.LogProfileResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.LogProfileResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in LogProfilesClient. */
+public interface LogProfilesClient {
+ /**
+ * Deletes the log profile.
+ *
+ * @param logProfileName The name of the log profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String logProfileName);
+
+ /**
+ * Deletes the log profile.
+ *
+ * @param logProfileName The name of the log profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String logProfileName, Context context);
+
+ /**
+ * Gets the log profile.
+ *
+ * @param logProfileName The name of the log profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the log profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogProfileResourceInner get(String logProfileName);
+
+ /**
+ * Gets the log profile.
+ *
+ * @param logProfileName The name of the log profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the log profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String logProfileName, Context context);
+
+ /**
+ * Create or update a log profile in Azure Monitoring REST API.
+ *
+ * @param logProfileName The name of the log profile.
+ * @param parameters Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the log profile resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogProfileResourceInner createOrUpdate(String logProfileName, LogProfileResourceInner parameters);
+
+ /**
+ * Create or update a log profile in Azure Monitoring REST API.
+ *
+ * @param logProfileName The name of the log profile.
+ * @param parameters Parameters supplied to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the log profile resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String logProfileName, LogProfileResourceInner parameters, Context context);
+
+ /**
+ * Updates an existing LogProfilesResource. To update other fields use the CreateOrUpdate method.
+ *
+ * @param logProfileName The name of the log profile.
+ * @param logProfilesResource Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the log profile resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogProfileResourceInner update(String logProfileName, LogProfileResourcePatch logProfilesResource);
+
+ /**
+ * Updates an existing LogProfilesResource. To update other fields use the CreateOrUpdate method.
+ *
+ * @param logProfileName The name of the log profile.
+ * @param logProfilesResource Parameters supplied to the operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the log profile resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String logProfileName, LogProfileResourcePatch logProfilesResource, Context context);
+
+ /**
+ * List the log profiles.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of log profiles.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the log profiles.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of log profiles.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricAlertsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricAlertsClient.java
new file mode 100644
index 0000000000000..beee3e8e63c0a
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricAlertsClient.java
@@ -0,0 +1,178 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.MetricAlertResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.MetricAlertResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in MetricAlertsClient. */
+public interface MetricAlertsClient {
+ /**
+ * Retrieve alert rule definitions in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Retrieve alert rule definitions in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Retrieve alert rule definitions in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Retrieve alert rule definitions in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Retrieve an alert rule definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the metric alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetricAlertResourceInner getByResourceGroup(String resourceGroupName, String ruleName);
+
+ /**
+ * Retrieve an alert rule definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the metric alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String ruleName, Context context);
+
+ /**
+ * Create or update an metric alert definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the metric alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetricAlertResourceInner createOrUpdate(
+ String resourceGroupName, String ruleName, MetricAlertResourceInner parameters);
+
+ /**
+ * Create or update an metric alert definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the metric alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String ruleName, MetricAlertResourceInner parameters, Context context);
+
+ /**
+ * Update an metric alert definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the metric alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetricAlertResourceInner update(String resourceGroupName, String ruleName, MetricAlertResourcePatch parameters);
+
+ /**
+ * Update an metric alert definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the metric alert resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String ruleName, MetricAlertResourcePatch parameters, Context context);
+
+ /**
+ * Delete an alert rule definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String ruleName);
+
+ /**
+ * Delete an alert rule definition.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String ruleName, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricAlertsStatusClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricAlertsStatusClient.java
new file mode 100644
index 0000000000000..08c071de032bf
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricAlertsStatusClient.java
@@ -0,0 +1,72 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.MetricAlertStatusCollectionInner;
+
+/** An instance of this class provides access to all the operations defined in MetricAlertsStatusClient. */
+public interface MetricAlertsStatusClient {
+ /**
+ * Retrieve an alert rule status.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetricAlertStatusCollectionInner list(String resourceGroupName, String ruleName);
+
+ /**
+ * Retrieve an alert rule status.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName, String ruleName, Context context);
+
+ /**
+ * Retrieve an alert rule status.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param statusName The name of the status.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetricAlertStatusCollectionInner listByName(String resourceGroupName, String ruleName, String statusName);
+
+ /**
+ * Retrieve an alert rule status.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param statusName The name of the status.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of alert rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listByNameWithResponse(
+ String resourceGroupName, String ruleName, String statusName, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricBaselinesClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricBaselinesClient.java
new file mode 100644
index 0000000000000..eb79d65250c68
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricBaselinesClient.java
@@ -0,0 +1,99 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.BaselineResponseInner;
+import com.azure.resourcemanager.monitor.generated.fluent.models.CalculateBaselineResponseInner;
+import com.azure.resourcemanager.monitor.generated.models.ResultType;
+import com.azure.resourcemanager.monitor.generated.models.TimeSeriesInformation;
+import java.time.Duration;
+
+/** An instance of this class provides access to all the operations defined in MetricBaselinesClient. */
+public interface MetricBaselinesClient {
+ /**
+ * **Gets the baseline values for a specific metric**.
+ *
+ * @param resourceUri The identifier of the resource. It has the following structure:
+ * subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceName}.
+ * For example:
+ * subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1.
+ * @param metricName The name of the metric to retrieve the baseline for.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a baseline query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BaselineResponseInner get(String resourceUri, String metricName);
+
+ /**
+ * **Gets the baseline values for a specific metric**.
+ *
+ * @param resourceUri The identifier of the resource. It has the following structure:
+ * subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceName}.
+ * For example:
+ * subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1.
+ * @param metricName The name of the metric to retrieve the baseline for.
+ * @param timespan The timespan of the query. It is a string with the following format
+ * 'startDateTime_ISO/endDateTime_ISO'.
+ * @param interval The interval (i.e. timegrain) of the query.
+ * @param aggregation The aggregation type of the metric to retrieve the baseline for.
+ * @param sensitivities The list of sensitivities (comma separated) to retrieve.
+ * @param resultType Allows retrieving only metadata of the baseline. On data request all information is retrieved.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a baseline query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceUri,
+ String metricName,
+ String timespan,
+ Duration interval,
+ String aggregation,
+ String sensitivities,
+ ResultType resultType,
+ Context context);
+
+ /**
+ * **Lists the baseline values for a resource**.
+ *
+ * @param resourceUri The identifier of the resource. It has the following structure:
+ * subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceName}.
+ * For example:
+ * subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1.
+ * @param timeSeriesInformation Information that need to be specified to calculate a baseline on a time series.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a calculate baseline call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CalculateBaselineResponseInner calculateBaseline(String resourceUri, TimeSeriesInformation timeSeriesInformation);
+
+ /**
+ * **Lists the baseline values for a resource**.
+ *
+ * @param resourceUri The identifier of the resource. It has the following structure:
+ * subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceName}.
+ * For example:
+ * subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1.
+ * @param timeSeriesInformation Information that need to be specified to calculate a baseline on a time series.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a calculate baseline call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response calculateBaselineWithResponse(
+ String resourceUri, TimeSeriesInformation timeSeriesInformation, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricDefinitionsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricDefinitionsClient.java
new file mode 100644
index 0000000000000..4bc69d8b1b8c8
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricDefinitionsClient.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.MetricDefinitionInner;
+
+/** An instance of this class provides access to all the operations defined in MetricDefinitionsClient. */
+public interface MetricDefinitionsClient {
+ /**
+ * Lists the metric definitions for the resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents collection of metric definitions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceUri);
+
+ /**
+ * Lists the metric definitions for the resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param metricnamespace Metric namespace to query metric definitions for.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents collection of metric definitions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceUri, String metricnamespace, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricNamespacesClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricNamespacesClient.java
new file mode 100644
index 0000000000000..6110d1d9bc358
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricNamespacesClient.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.MetricNamespaceInner;
+
+/** An instance of this class provides access to all the operations defined in MetricNamespacesClient. */
+public interface MetricNamespacesClient {
+ /**
+ * Lists the metric namespaces for the resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents collection of metric namespaces.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceUri);
+
+ /**
+ * Lists the metric namespaces for the resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param startTime The ISO 8601 conform Date start time from which to query for metric namespaces.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents collection of metric namespaces.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceUri, String startTime, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricsClient.java
new file mode 100644
index 0000000000000..5911a54a82588
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MetricsClient.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.ResponseInner;
+import com.azure.resourcemanager.monitor.generated.models.ResultType;
+import java.time.Duration;
+
+/** An instance of this class provides access to all the operations defined in MetricsClient. */
+public interface MetricsClient {
+ /**
+ * **Lists the metric values for a resource**.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a metrics query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResponseInner list(String resourceUri);
+
+ /**
+ * **Lists the metric values for a resource**.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param timespan The timespan of the query. It is a string with the following format
+ * 'startDateTime_ISO/endDateTime_ISO'.
+ * @param interval The interval (i.e. timegrain) of the query.
+ * @param metricnames The names of the metrics (comma separated) to retrieve.
+ * @param aggregation The list of aggregation types (comma separated) to retrieve.
+ * @param top The maximum number of records to retrieve. Valid only if $filter is specified. Defaults to 10.
+ * @param orderby The aggregation to use for sorting results and the direction of the sort. Only one order can be
+ * specified. Examples: sum asc.
+ * @param filter The **$filter** is used to reduce the set of metric data
+ * returned.<br>Example:<br>Metric contains metadata A, B and C.<br>- Return all time series
+ * of C where A = a1 and B = b1 or b2<br>**$filter=A eq ‘a1’ and B eq ‘b1’ or B eq ‘b2’ and C eq
+ * ‘*’**<br>- Invalid variant:<br>**$filter=A eq ‘a1’ and B eq ‘b1’ and C eq ‘*’ or B =
+ * ‘b2’**<br>This is invalid because the logical or operator cannot separate two different metadata
+ * names.<br>- Return all time series where A = a1, B = b1 and C = c1:<br>**$filter=A eq ‘a1’ and B
+ * eq ‘b1’ and C eq ‘c1’**<br>- Return all time series where A = a1<br>**$filter=A eq ‘a1’ and B eq
+ * ‘*’ and C eq ‘*’**.
+ * @param resultType Reduces the set of data collected. The syntax allowed depends on the operation. See the
+ * operation's description for details.
+ * @param metricnamespace Metric namespace to query metric definitions for.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a metrics query.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceUri,
+ String timespan,
+ Duration interval,
+ String metricnames,
+ String aggregation,
+ Integer top,
+ String orderby,
+ String filter,
+ ResultType resultType,
+ String metricnamespace,
+ Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MonitorClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MonitorClient.java
new file mode 100644
index 0000000000000..36c2fce63bae0
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/MonitorClient.java
@@ -0,0 +1,186 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for MonitorClient class. */
+public interface MonitorClient {
+ /**
+ * Gets The ID of the target subscription.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the AutoscaleSettingsClient object to access its operations.
+ *
+ * @return the AutoscaleSettingsClient object.
+ */
+ AutoscaleSettingsClient getAutoscaleSettings();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the AlertRuleIncidentsClient object to access its operations.
+ *
+ * @return the AlertRuleIncidentsClient object.
+ */
+ AlertRuleIncidentsClient getAlertRuleIncidents();
+
+ /**
+ * Gets the AlertRulesClient object to access its operations.
+ *
+ * @return the AlertRulesClient object.
+ */
+ AlertRulesClient getAlertRules();
+
+ /**
+ * Gets the LogProfilesClient object to access its operations.
+ *
+ * @return the LogProfilesClient object.
+ */
+ LogProfilesClient getLogProfiles();
+
+ /**
+ * Gets the DiagnosticSettingsClient object to access its operations.
+ *
+ * @return the DiagnosticSettingsClient object.
+ */
+ DiagnosticSettingsClient getDiagnosticSettings();
+
+ /**
+ * Gets the DiagnosticSettingsCategoriesClient object to access its operations.
+ *
+ * @return the DiagnosticSettingsCategoriesClient object.
+ */
+ DiagnosticSettingsCategoriesClient getDiagnosticSettingsCategories();
+
+ /**
+ * Gets the ActionGroupsClient object to access its operations.
+ *
+ * @return the ActionGroupsClient object.
+ */
+ ActionGroupsClient getActionGroups();
+
+ /**
+ * Gets the ActivityLogAlertsClient object to access its operations.
+ *
+ * @return the ActivityLogAlertsClient object.
+ */
+ ActivityLogAlertsClient getActivityLogAlerts();
+
+ /**
+ * Gets the ActivityLogsClient object to access its operations.
+ *
+ * @return the ActivityLogsClient object.
+ */
+ ActivityLogsClient getActivityLogs();
+
+ /**
+ * Gets the EventCategoriesClient object to access its operations.
+ *
+ * @return the EventCategoriesClient object.
+ */
+ EventCategoriesClient getEventCategories();
+
+ /**
+ * Gets the TenantActivityLogsClient object to access its operations.
+ *
+ * @return the TenantActivityLogsClient object.
+ */
+ TenantActivityLogsClient getTenantActivityLogs();
+
+ /**
+ * Gets the MetricDefinitionsClient object to access its operations.
+ *
+ * @return the MetricDefinitionsClient object.
+ */
+ MetricDefinitionsClient getMetricDefinitions();
+
+ /**
+ * Gets the MetricsClient object to access its operations.
+ *
+ * @return the MetricsClient object.
+ */
+ MetricsClient getMetrics();
+
+ /**
+ * Gets the MetricBaselinesClient object to access its operations.
+ *
+ * @return the MetricBaselinesClient object.
+ */
+ MetricBaselinesClient getMetricBaselines();
+
+ /**
+ * Gets the BaselinesClient object to access its operations.
+ *
+ * @return the BaselinesClient object.
+ */
+ BaselinesClient getBaselines();
+
+ /**
+ * Gets the MetricAlertsClient object to access its operations.
+ *
+ * @return the MetricAlertsClient object.
+ */
+ MetricAlertsClient getMetricAlerts();
+
+ /**
+ * Gets the MetricAlertsStatusClient object to access its operations.
+ *
+ * @return the MetricAlertsStatusClient object.
+ */
+ MetricAlertsStatusClient getMetricAlertsStatus();
+
+ /**
+ * Gets the ScheduledQueryRulesClient object to access its operations.
+ *
+ * @return the ScheduledQueryRulesClient object.
+ */
+ ScheduledQueryRulesClient getScheduledQueryRules();
+
+ /**
+ * Gets the MetricNamespacesClient object to access its operations.
+ *
+ * @return the MetricNamespacesClient object.
+ */
+ MetricNamespacesClient getMetricNamespaces();
+
+ /**
+ * Gets the VMInsightsClient object to access its operations.
+ *
+ * @return the VMInsightsClient object.
+ */
+ VMInsightsClient getVMInsights();
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/OperationsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/OperationsClient.java
new file mode 100644
index 0000000000000..5cb2a37260d9c
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.OperationListResultInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Lists all of the available operations from Microsoft.Insights provider.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list Microsoft.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OperationListResultInner list();
+
+ /**
+ * Lists all of the available operations from Microsoft.Insights provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list Microsoft.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ScheduledQueryRulesClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ScheduledQueryRulesClient.java
new file mode 100644
index 0000000000000..3cb624cc0655f
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/ScheduledQueryRulesClient.java
@@ -0,0 +1,183 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.LogSearchRuleResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.LogSearchRuleResourcePatch;
+
+/** An instance of this class provides access to all the operations defined in ScheduledQueryRulesClient. */
+public interface ScheduledQueryRulesClient {
+ /**
+ * Creates or updates an log search rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Log Search Rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogSearchRuleResourceInner createOrUpdate(
+ String resourceGroupName, String ruleName, LogSearchRuleResourceInner parameters);
+
+ /**
+ * Creates or updates an log search rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Log Search Rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String ruleName, LogSearchRuleResourceInner parameters, Context context);
+
+ /**
+ * Gets an Log Search rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Log Search rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogSearchRuleResourceInner getByResourceGroup(String resourceGroupName, String ruleName);
+
+ /**
+ * Gets an Log Search rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Log Search rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String ruleName, Context context);
+
+ /**
+ * Update log search Rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Log Search Rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogSearchRuleResourceInner update(String resourceGroupName, String ruleName, LogSearchRuleResourcePatch parameters);
+
+ /**
+ * Update log search Rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param parameters The parameters of the rule to update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Log Search Rule resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String ruleName, LogSearchRuleResourcePatch parameters, Context context);
+
+ /**
+ * Deletes a Log Search rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String ruleName);
+
+ /**
+ * Deletes a Log Search rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String ruleName, Context context);
+
+ /**
+ * List the Log Search rules within a subscription group.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of Log Search rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the Log Search rules within a subscription group.
+ *
+ * @param filter The filter to apply on the operation. For more information please see
+ * https://msdn.microsoft.com/en-us/library/azure/dn931934.aspx.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of Log Search rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, Context context);
+
+ /**
+ * List the Log Search rules within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of Log Search rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List the Log Search rules within a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param filter The filter to apply on the operation. For more information please see
+ * https://msdn.microsoft.com/en-us/library/azure/dn931934.aspx.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a collection of Log Search rule resources.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(
+ String resourceGroupName, String filter, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/TenantActivityLogsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/TenantActivityLogsClient.java
new file mode 100644
index 0000000000000..620e7dd80e975
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/TenantActivityLogsClient.java
@@ -0,0 +1,60 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.EventDataInner;
+
+/** An instance of this class provides access to all the operations defined in TenantActivityLogsClient. */
+public interface TenantActivityLogsClient {
+ /**
+ * Gets the Activity Logs for the Tenant.<br>Everything that is applicable to the API to get the Activity Logs
+ * for the subscription is applicable to this API (the parameters, $filter, etc.).<br>One thing to point out
+ * here is that this API does *not* retrieve the logs at the individual subscription of the tenant but only surfaces
+ * the logs that were generated at the tenant level.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Activity Logs for the Tenant.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the Activity Logs for the Tenant.<br>Everything that is applicable to the API to get the Activity Logs
+ * for the subscription is applicable to this API (the parameters, $filter, etc.).<br>One thing to point out
+ * here is that this API does *not* retrieve the logs at the individual subscription of the tenant but only surfaces
+ * the logs that were generated at the tenant level.
+ *
+ * @param filter Reduces the set of data collected. <br>The **$filter** is very restricted and allows only the
+ * following patterns.<br>- List events for a resource group: $filter=eventTimestamp ge '<Start
+ * Time>' and eventTimestamp le '<End Time>' and eventChannels eq 'Admin, Operation' and
+ * resourceGroupName eq '<ResourceGroupName>'.<br>- List events for resource: $filter=eventTimestamp
+ * ge '<Start Time>' and eventTimestamp le '<End Time>' and eventChannels eq 'Admin, Operation' and
+ * resourceUri eq '<ResourceURI>'.<br>- List events for a subscription: $filter=eventTimestamp ge
+ * '<Start Time>' and eventTimestamp le '<End Time>' and eventChannels eq 'Admin,
+ * Operation'.<br>- List events for a resource provider: $filter=eventTimestamp ge '<Start Time>'
+ * and eventTimestamp le '<End Time>' and eventChannels eq 'Admin, Operation' and resourceProvider eq
+ * '<ResourceProviderName>'.<br>- List events for a correlation Id:
+ * api-version=2014-04-01&$filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le
+ * '2014-07-20T04:36:37.6407898Z' and eventChannels eq 'Admin, Operation' and correlationId eq
+ * '<CorrelationID>'.<br>**NOTE**: No other syntax is allowed.
+ * @param select Used to fetch events with only the given properties.<br>The **$select** argument is a comma
+ * separated list of property names to be returned. Possible values are: *authorization*, *claims*,
+ * *correlationId*, *description*, *eventDataId*, *eventName*, *eventTimestamp*, *httpRequest*, *level*,
+ * *operationId*, *operationName*, *properties*, *resourceGroupName*, *resourceProviderName*, *resourceId*,
+ * *status*, *submissionTimestamp*, *subStatus*, *subscriptionId*.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Activity Logs for the Tenant.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, String select, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/VMInsightsClient.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/VMInsightsClient.java
new file mode 100644
index 0000000000000..b70f7deb64c93
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/VMInsightsClient.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.fluent.models.VMInsightsOnboardingStatusInner;
+
+/** An instance of this class provides access to all the operations defined in VMInsightsClient. */
+public interface VMInsightsClient {
+ /**
+ * Retrieves the VM Insights onboarding status for the specified resource or resource scope.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource, or scope, whose status
+ * to retrieve.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vM Insights onboarding status for a resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VMInsightsOnboardingStatusInner getOnboardingStatus(String resourceUri);
+
+ /**
+ * Retrieves the VM Insights onboarding status for the specified resource or resource scope.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource, or scope, whose status
+ * to retrieve.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vM Insights onboarding status for a resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getOnboardingStatusWithResponse(String resourceUri, Context context);
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ActionGroupResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ActionGroupResourceInner.java
new file mode 100644
index 0000000000000..27c0c92e272a5
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ActionGroupResourceInner.java
@@ -0,0 +1,405 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.ArmRoleReceiver;
+import com.azure.resourcemanager.monitor.generated.models.AutomationRunbookReceiver;
+import com.azure.resourcemanager.monitor.generated.models.AzureAppPushReceiver;
+import com.azure.resourcemanager.monitor.generated.models.AzureFunctionReceiver;
+import com.azure.resourcemanager.monitor.generated.models.EmailReceiver;
+import com.azure.resourcemanager.monitor.generated.models.ItsmReceiver;
+import com.azure.resourcemanager.monitor.generated.models.LogicAppReceiver;
+import com.azure.resourcemanager.monitor.generated.models.SmsReceiver;
+import com.azure.resourcemanager.monitor.generated.models.VoiceReceiver;
+import com.azure.resourcemanager.monitor.generated.models.WebhookReceiver;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** An action group resource. */
+@JsonFlatten
+@Fluent
+public class ActionGroupResourceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ActionGroupResourceInner.class);
+
+ /*
+ * The short name of the action group. This will be used in SMS messages.
+ */
+ @JsonProperty(value = "properties.groupShortName")
+ private String groupShortName;
+
+ /*
+ * Indicates whether this action group is enabled. If an action group is
+ * not enabled, then none of its receivers will receive communications.
+ */
+ @JsonProperty(value = "properties.enabled")
+ private Boolean enabled;
+
+ /*
+ * The list of email receivers that are part of this action group.
+ */
+ @JsonProperty(value = "properties.emailReceivers")
+ private List emailReceivers;
+
+ /*
+ * The list of SMS receivers that are part of this action group.
+ */
+ @JsonProperty(value = "properties.smsReceivers")
+ private List smsReceivers;
+
+ /*
+ * The list of webhook receivers that are part of this action group.
+ */
+ @JsonProperty(value = "properties.webhookReceivers")
+ private List webhookReceivers;
+
+ /*
+ * The list of ITSM receivers that are part of this action group.
+ */
+ @JsonProperty(value = "properties.itsmReceivers")
+ private List itsmReceivers;
+
+ /*
+ * The list of AzureAppPush receivers that are part of this action group.
+ */
+ @JsonProperty(value = "properties.azureAppPushReceivers")
+ private List azureAppPushReceivers;
+
+ /*
+ * The list of AutomationRunbook receivers that are part of this action
+ * group.
+ */
+ @JsonProperty(value = "properties.automationRunbookReceivers")
+ private List automationRunbookReceivers;
+
+ /*
+ * The list of voice receivers that are part of this action group.
+ */
+ @JsonProperty(value = "properties.voiceReceivers")
+ private List voiceReceivers;
+
+ /*
+ * The list of logic app receivers that are part of this action group.
+ */
+ @JsonProperty(value = "properties.logicAppReceivers")
+ private List logicAppReceivers;
+
+ /*
+ * The list of azure function receivers that are part of this action group.
+ */
+ @JsonProperty(value = "properties.azureFunctionReceivers")
+ private List azureFunctionReceivers;
+
+ /*
+ * The list of ARM role receivers that are part of this action group. Roles
+ * are Azure RBAC roles and only built-in roles are supported.
+ */
+ @JsonProperty(value = "properties.armRoleReceivers")
+ private List armRoleReceivers;
+
+ /**
+ * Get the groupShortName property: The short name of the action group. This will be used in SMS messages.
+ *
+ * @return the groupShortName value.
+ */
+ public String groupShortName() {
+ return this.groupShortName;
+ }
+
+ /**
+ * Set the groupShortName property: The short name of the action group. This will be used in SMS messages.
+ *
+ * @param groupShortName the groupShortName value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withGroupShortName(String groupShortName) {
+ this.groupShortName = groupShortName;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: Indicates whether this action group is enabled. If an action group is not enabled, then
+ * none of its receivers will receive communications.
+ *
+ * @return the enabled value.
+ */
+ public Boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: Indicates whether this action group is enabled. If an action group is not enabled, then
+ * none of its receivers will receive communications.
+ *
+ * @param enabled the enabled value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the emailReceivers property: The list of email receivers that are part of this action group.
+ *
+ * @return the emailReceivers value.
+ */
+ public List emailReceivers() {
+ return this.emailReceivers;
+ }
+
+ /**
+ * Set the emailReceivers property: The list of email receivers that are part of this action group.
+ *
+ * @param emailReceivers the emailReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withEmailReceivers(List emailReceivers) {
+ this.emailReceivers = emailReceivers;
+ return this;
+ }
+
+ /**
+ * Get the smsReceivers property: The list of SMS receivers that are part of this action group.
+ *
+ * @return the smsReceivers value.
+ */
+ public List smsReceivers() {
+ return this.smsReceivers;
+ }
+
+ /**
+ * Set the smsReceivers property: The list of SMS receivers that are part of this action group.
+ *
+ * @param smsReceivers the smsReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withSmsReceivers(List smsReceivers) {
+ this.smsReceivers = smsReceivers;
+ return this;
+ }
+
+ /**
+ * Get the webhookReceivers property: The list of webhook receivers that are part of this action group.
+ *
+ * @return the webhookReceivers value.
+ */
+ public List webhookReceivers() {
+ return this.webhookReceivers;
+ }
+
+ /**
+ * Set the webhookReceivers property: The list of webhook receivers that are part of this action group.
+ *
+ * @param webhookReceivers the webhookReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withWebhookReceivers(List webhookReceivers) {
+ this.webhookReceivers = webhookReceivers;
+ return this;
+ }
+
+ /**
+ * Get the itsmReceivers property: The list of ITSM receivers that are part of this action group.
+ *
+ * @return the itsmReceivers value.
+ */
+ public List itsmReceivers() {
+ return this.itsmReceivers;
+ }
+
+ /**
+ * Set the itsmReceivers property: The list of ITSM receivers that are part of this action group.
+ *
+ * @param itsmReceivers the itsmReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withItsmReceivers(List itsmReceivers) {
+ this.itsmReceivers = itsmReceivers;
+ return this;
+ }
+
+ /**
+ * Get the azureAppPushReceivers property: The list of AzureAppPush receivers that are part of this action group.
+ *
+ * @return the azureAppPushReceivers value.
+ */
+ public List azureAppPushReceivers() {
+ return this.azureAppPushReceivers;
+ }
+
+ /**
+ * Set the azureAppPushReceivers property: The list of AzureAppPush receivers that are part of this action group.
+ *
+ * @param azureAppPushReceivers the azureAppPushReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withAzureAppPushReceivers(List azureAppPushReceivers) {
+ this.azureAppPushReceivers = azureAppPushReceivers;
+ return this;
+ }
+
+ /**
+ * Get the automationRunbookReceivers property: The list of AutomationRunbook receivers that are part of this action
+ * group.
+ *
+ * @return the automationRunbookReceivers value.
+ */
+ public List automationRunbookReceivers() {
+ return this.automationRunbookReceivers;
+ }
+
+ /**
+ * Set the automationRunbookReceivers property: The list of AutomationRunbook receivers that are part of this action
+ * group.
+ *
+ * @param automationRunbookReceivers the automationRunbookReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withAutomationRunbookReceivers(
+ List automationRunbookReceivers) {
+ this.automationRunbookReceivers = automationRunbookReceivers;
+ return this;
+ }
+
+ /**
+ * Get the voiceReceivers property: The list of voice receivers that are part of this action group.
+ *
+ * @return the voiceReceivers value.
+ */
+ public List voiceReceivers() {
+ return this.voiceReceivers;
+ }
+
+ /**
+ * Set the voiceReceivers property: The list of voice receivers that are part of this action group.
+ *
+ * @param voiceReceivers the voiceReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withVoiceReceivers(List voiceReceivers) {
+ this.voiceReceivers = voiceReceivers;
+ return this;
+ }
+
+ /**
+ * Get the logicAppReceivers property: The list of logic app receivers that are part of this action group.
+ *
+ * @return the logicAppReceivers value.
+ */
+ public List logicAppReceivers() {
+ return this.logicAppReceivers;
+ }
+
+ /**
+ * Set the logicAppReceivers property: The list of logic app receivers that are part of this action group.
+ *
+ * @param logicAppReceivers the logicAppReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withLogicAppReceivers(List logicAppReceivers) {
+ this.logicAppReceivers = logicAppReceivers;
+ return this;
+ }
+
+ /**
+ * Get the azureFunctionReceivers property: The list of azure function receivers that are part of this action group.
+ *
+ * @return the azureFunctionReceivers value.
+ */
+ public List azureFunctionReceivers() {
+ return this.azureFunctionReceivers;
+ }
+
+ /**
+ * Set the azureFunctionReceivers property: The list of azure function receivers that are part of this action group.
+ *
+ * @param azureFunctionReceivers the azureFunctionReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withAzureFunctionReceivers(List azureFunctionReceivers) {
+ this.azureFunctionReceivers = azureFunctionReceivers;
+ return this;
+ }
+
+ /**
+ * Get the armRoleReceivers property: The list of ARM role receivers that are part of this action group. Roles are
+ * Azure RBAC roles and only built-in roles are supported.
+ *
+ * @return the armRoleReceivers value.
+ */
+ public List armRoleReceivers() {
+ return this.armRoleReceivers;
+ }
+
+ /**
+ * Set the armRoleReceivers property: The list of ARM role receivers that are part of this action group. Roles are
+ * Azure RBAC roles and only built-in roles are supported.
+ *
+ * @param armRoleReceivers the armRoleReceivers value to set.
+ * @return the ActionGroupResourceInner object itself.
+ */
+ public ActionGroupResourceInner withArmRoleReceivers(List armRoleReceivers) {
+ this.armRoleReceivers = armRoleReceivers;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ActionGroupResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ActionGroupResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (emailReceivers() != null) {
+ emailReceivers().forEach(e -> e.validate());
+ }
+ if (smsReceivers() != null) {
+ smsReceivers().forEach(e -> e.validate());
+ }
+ if (webhookReceivers() != null) {
+ webhookReceivers().forEach(e -> e.validate());
+ }
+ if (itsmReceivers() != null) {
+ itsmReceivers().forEach(e -> e.validate());
+ }
+ if (azureAppPushReceivers() != null) {
+ azureAppPushReceivers().forEach(e -> e.validate());
+ }
+ if (automationRunbookReceivers() != null) {
+ automationRunbookReceivers().forEach(e -> e.validate());
+ }
+ if (voiceReceivers() != null) {
+ voiceReceivers().forEach(e -> e.validate());
+ }
+ if (logicAppReceivers() != null) {
+ logicAppReceivers().forEach(e -> e.validate());
+ }
+ if (azureFunctionReceivers() != null) {
+ azureFunctionReceivers().forEach(e -> e.validate());
+ }
+ if (armRoleReceivers() != null) {
+ armRoleReceivers().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ActivityLogAlertResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ActivityLogAlertResourceInner.java
new file mode 100644
index 0000000000000..9a473bc4deea2
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ActivityLogAlertResourceInner.java
@@ -0,0 +1,188 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.ActivityLogAlertActionList;
+import com.azure.resourcemanager.monitor.generated.models.ActivityLogAlertAllOfCondition;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** An activity log alert resource. */
+@JsonFlatten
+@Fluent
+public class ActivityLogAlertResourceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ActivityLogAlertResourceInner.class);
+
+ /*
+ * A list of resourceIds that will be used as prefixes. The alert will only
+ * apply to activityLogs with resourceIds that fall under one of these
+ * prefixes. This list must include at least one item.
+ */
+ @JsonProperty(value = "properties.scopes")
+ private List scopes;
+
+ /*
+ * Indicates whether this activity log alert is enabled. If an activity log
+ * alert is not enabled, then none of its actions will be activated.
+ */
+ @JsonProperty(value = "properties.enabled")
+ private Boolean enabled;
+
+ /*
+ * The condition that will cause this alert to activate.
+ */
+ @JsonProperty(value = "properties.condition")
+ private ActivityLogAlertAllOfCondition condition;
+
+ /*
+ * The actions that will activate when the condition is met.
+ */
+ @JsonProperty(value = "properties.actions")
+ private ActivityLogAlertActionList actions;
+
+ /*
+ * A description of this activity log alert.
+ */
+ @JsonProperty(value = "properties.description")
+ private String description;
+
+ /**
+ * Get the scopes property: A list of resourceIds that will be used as prefixes. The alert will only apply to
+ * activityLogs with resourceIds that fall under one of these prefixes. This list must include at least one item.
+ *
+ * @return the scopes value.
+ */
+ public List scopes() {
+ return this.scopes;
+ }
+
+ /**
+ * Set the scopes property: A list of resourceIds that will be used as prefixes. The alert will only apply to
+ * activityLogs with resourceIds that fall under one of these prefixes. This list must include at least one item.
+ *
+ * @param scopes the scopes value to set.
+ * @return the ActivityLogAlertResourceInner object itself.
+ */
+ public ActivityLogAlertResourceInner withScopes(List scopes) {
+ this.scopes = scopes;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: Indicates whether this activity log alert is enabled. If an activity log alert is not
+ * enabled, then none of its actions will be activated.
+ *
+ * @return the enabled value.
+ */
+ public Boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: Indicates whether this activity log alert is enabled. If an activity log alert is not
+ * enabled, then none of its actions will be activated.
+ *
+ * @param enabled the enabled value to set.
+ * @return the ActivityLogAlertResourceInner object itself.
+ */
+ public ActivityLogAlertResourceInner withEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the condition property: The condition that will cause this alert to activate.
+ *
+ * @return the condition value.
+ */
+ public ActivityLogAlertAllOfCondition condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: The condition that will cause this alert to activate.
+ *
+ * @param condition the condition value to set.
+ * @return the ActivityLogAlertResourceInner object itself.
+ */
+ public ActivityLogAlertResourceInner withCondition(ActivityLogAlertAllOfCondition condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the actions property: The actions that will activate when the condition is met.
+ *
+ * @return the actions value.
+ */
+ public ActivityLogAlertActionList actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: The actions that will activate when the condition is met.
+ *
+ * @param actions the actions value to set.
+ * @return the ActivityLogAlertResourceInner object itself.
+ */
+ public ActivityLogAlertResourceInner withActions(ActivityLogAlertActionList actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Get the description property: A description of this activity log alert.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: A description of this activity log alert.
+ *
+ * @param description the description value to set.
+ * @return the ActivityLogAlertResourceInner object itself.
+ */
+ public ActivityLogAlertResourceInner withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ActivityLogAlertResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ActivityLogAlertResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (condition() != null) {
+ condition().validate();
+ }
+ if (actions() != null) {
+ actions().validate();
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/AlertRuleResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/AlertRuleResourceInner.java
new file mode 100644
index 0000000000000..39416666103d1
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/AlertRuleResourceInner.java
@@ -0,0 +1,212 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.RuleAction;
+import com.azure.resourcemanager.monitor.generated.models.RuleCondition;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/** The alert rule resource. */
+@JsonFlatten
+@Fluent
+public class AlertRuleResourceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AlertRuleResourceInner.class);
+
+ /*
+ * the name of the alert rule.
+ */
+ @JsonProperty(value = "properties.name", required = true)
+ private String namePropertiesName;
+
+ /*
+ * the description of the alert rule that will be included in the alert
+ * email.
+ */
+ @JsonProperty(value = "properties.description")
+ private String description;
+
+ /*
+ * the flag that indicates whether the alert rule is enabled.
+ */
+ @JsonProperty(value = "properties.isEnabled", required = true)
+ private boolean isEnabled;
+
+ /*
+ * the condition that results in the alert rule being activated.
+ */
+ @JsonProperty(value = "properties.condition", required = true)
+ private RuleCondition condition;
+
+ /*
+ * the array of actions that are performed when the alert rule becomes
+ * active, and when an alert condition is resolved.
+ */
+ @JsonProperty(value = "properties.actions")
+ private List actions;
+
+ /*
+ * Last time the rule was updated in ISO8601 format.
+ */
+ @JsonProperty(value = "properties.lastUpdatedTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastUpdatedTime;
+
+ /**
+ * Get the namePropertiesName property: the name of the alert rule.
+ *
+ * @return the namePropertiesName value.
+ */
+ public String namePropertiesName() {
+ return this.namePropertiesName;
+ }
+
+ /**
+ * Set the namePropertiesName property: the name of the alert rule.
+ *
+ * @param namePropertiesName the namePropertiesName value to set.
+ * @return the AlertRuleResourceInner object itself.
+ */
+ public AlertRuleResourceInner withNamePropertiesName(String namePropertiesName) {
+ this.namePropertiesName = namePropertiesName;
+ return this;
+ }
+
+ /**
+ * Get the description property: the description of the alert rule that will be included in the alert email.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: the description of the alert rule that will be included in the alert email.
+ *
+ * @param description the description value to set.
+ * @return the AlertRuleResourceInner object itself.
+ */
+ public AlertRuleResourceInner withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the isEnabled property: the flag that indicates whether the alert rule is enabled.
+ *
+ * @return the isEnabled value.
+ */
+ public boolean isEnabled() {
+ return this.isEnabled;
+ }
+
+ /**
+ * Set the isEnabled property: the flag that indicates whether the alert rule is enabled.
+ *
+ * @param isEnabled the isEnabled value to set.
+ * @return the AlertRuleResourceInner object itself.
+ */
+ public AlertRuleResourceInner withIsEnabled(boolean isEnabled) {
+ this.isEnabled = isEnabled;
+ return this;
+ }
+
+ /**
+ * Get the condition property: the condition that results in the alert rule being activated.
+ *
+ * @return the condition value.
+ */
+ public RuleCondition condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: the condition that results in the alert rule being activated.
+ *
+ * @param condition the condition value to set.
+ * @return the AlertRuleResourceInner object itself.
+ */
+ public AlertRuleResourceInner withCondition(RuleCondition condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the actions property: the array of actions that are performed when the alert rule becomes active, and when an
+ * alert condition is resolved.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: the array of actions that are performed when the alert rule becomes active, and when an
+ * alert condition is resolved.
+ *
+ * @param actions the actions value to set.
+ * @return the AlertRuleResourceInner object itself.
+ */
+ public AlertRuleResourceInner withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Get the lastUpdatedTime property: Last time the rule was updated in ISO8601 format.
+ *
+ * @return the lastUpdatedTime value.
+ */
+ public OffsetDateTime lastUpdatedTime() {
+ return this.lastUpdatedTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AlertRuleResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AlertRuleResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (namePropertiesName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property namePropertiesName in model AlertRuleResourceInner"));
+ }
+ if (condition() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property condition in model AlertRuleResourceInner"));
+ } else {
+ condition().validate();
+ }
+ if (actions() != null) {
+ actions().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/AutoscaleSettingResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/AutoscaleSettingResourceInner.java
new file mode 100644
index 0000000000000..4ab37333a8aac
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/AutoscaleSettingResourceInner.java
@@ -0,0 +1,196 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.AutoscaleNotification;
+import com.azure.resourcemanager.monitor.generated.models.AutoscaleProfile;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** The autoscale setting resource. */
+@JsonFlatten
+@Fluent
+public class AutoscaleSettingResourceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AutoscaleSettingResourceInner.class);
+
+ /*
+ * the collection of automatic scaling profiles that specify different
+ * scaling parameters for different time periods. A maximum of 20 profiles
+ * can be specified.
+ */
+ @JsonProperty(value = "properties.profiles", required = true)
+ private List profiles;
+
+ /*
+ * the collection of notifications.
+ */
+ @JsonProperty(value = "properties.notifications")
+ private List notifications;
+
+ /*
+ * the enabled flag. Specifies whether automatic scaling is enabled for the
+ * resource. The default value is 'true'.
+ */
+ @JsonProperty(value = "properties.enabled")
+ private Boolean enabled;
+
+ /*
+ * the name of the autoscale setting.
+ */
+ @JsonProperty(value = "properties.name")
+ private String namePropertiesName;
+
+ /*
+ * the resource identifier of the resource that the autoscale setting
+ * should be added to.
+ */
+ @JsonProperty(value = "properties.targetResourceUri")
+ private String targetResourceUri;
+
+ /**
+ * Get the profiles property: the collection of automatic scaling profiles that specify different scaling parameters
+ * for different time periods. A maximum of 20 profiles can be specified.
+ *
+ * @return the profiles value.
+ */
+ public List profiles() {
+ return this.profiles;
+ }
+
+ /**
+ * Set the profiles property: the collection of automatic scaling profiles that specify different scaling parameters
+ * for different time periods. A maximum of 20 profiles can be specified.
+ *
+ * @param profiles the profiles value to set.
+ * @return the AutoscaleSettingResourceInner object itself.
+ */
+ public AutoscaleSettingResourceInner withProfiles(List profiles) {
+ this.profiles = profiles;
+ return this;
+ }
+
+ /**
+ * Get the notifications property: the collection of notifications.
+ *
+ * @return the notifications value.
+ */
+ public List notifications() {
+ return this.notifications;
+ }
+
+ /**
+ * Set the notifications property: the collection of notifications.
+ *
+ * @param notifications the notifications value to set.
+ * @return the AutoscaleSettingResourceInner object itself.
+ */
+ public AutoscaleSettingResourceInner withNotifications(List notifications) {
+ this.notifications = notifications;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The
+ * default value is 'true'.
+ *
+ * @return the enabled value.
+ */
+ public Boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The
+ * default value is 'true'.
+ *
+ * @param enabled the enabled value to set.
+ * @return the AutoscaleSettingResourceInner object itself.
+ */
+ public AutoscaleSettingResourceInner withEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the namePropertiesName property: the name of the autoscale setting.
+ *
+ * @return the namePropertiesName value.
+ */
+ public String namePropertiesName() {
+ return this.namePropertiesName;
+ }
+
+ /**
+ * Set the namePropertiesName property: the name of the autoscale setting.
+ *
+ * @param namePropertiesName the namePropertiesName value to set.
+ * @return the AutoscaleSettingResourceInner object itself.
+ */
+ public AutoscaleSettingResourceInner withNamePropertiesName(String namePropertiesName) {
+ this.namePropertiesName = namePropertiesName;
+ return this;
+ }
+
+ /**
+ * Get the targetResourceUri property: the resource identifier of the resource that the autoscale setting should be
+ * added to.
+ *
+ * @return the targetResourceUri value.
+ */
+ public String targetResourceUri() {
+ return this.targetResourceUri;
+ }
+
+ /**
+ * Set the targetResourceUri property: the resource identifier of the resource that the autoscale setting should be
+ * added to.
+ *
+ * @param targetResourceUri the targetResourceUri value to set.
+ * @return the AutoscaleSettingResourceInner object itself.
+ */
+ public AutoscaleSettingResourceInner withTargetResourceUri(String targetResourceUri) {
+ this.targetResourceUri = targetResourceUri;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AutoscaleSettingResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AutoscaleSettingResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (profiles() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property profiles in model AutoscaleSettingResourceInner"));
+ } else {
+ profiles().forEach(e -> e.validate());
+ }
+ if (notifications() != null) {
+ notifications().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/BaselineMetadataValueInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/BaselineMetadataValueInner.java
new file mode 100644
index 0000000000000..39e9b3f38f7ef
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/BaselineMetadataValueInner.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Represents a baseline metadata value. */
+@Fluent
+public final class BaselineMetadataValueInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(BaselineMetadataValueInner.class);
+
+ /*
+ * the name of the metadata.
+ */
+ @JsonProperty(value = "name")
+ private LocalizableStringInner name;
+
+ /*
+ * the value of the metadata.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * Get the name property: the name of the metadata.
+ *
+ * @return the name value.
+ */
+ public LocalizableStringInner name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: the name of the metadata.
+ *
+ * @param name the name value to set.
+ * @return the BaselineMetadataValueInner object itself.
+ */
+ public BaselineMetadataValueInner withName(LocalizableStringInner name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the value property: the value of the metadata.
+ *
+ * @return the value value.
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: the value of the metadata.
+ *
+ * @param value the value value to set.
+ * @return the BaselineMetadataValueInner object itself.
+ */
+ public BaselineMetadataValueInner withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (name() != null) {
+ name().validate();
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/BaselineResponseInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/BaselineResponseInner.java
new file mode 100644
index 0000000000000..f7b0eef106236
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/BaselineResponseInner.java
@@ -0,0 +1,254 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.Baseline;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** The response to a baseline query. */
+@JsonFlatten
+@Fluent
+public class BaselineResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(BaselineResponseInner.class);
+
+ /*
+ * the metric baseline Id.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * the resource type of the baseline resource.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * the name and the display name of the metric, i.e. it is localizable
+ * string.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private LocalizableStringInner name;
+
+ /*
+ * The timespan for which the data was retrieved. Its value consists of two
+ * datetimes concatenated, separated by '/'. This may be adjusted in the
+ * future and returned back from what was originally requested.
+ */
+ @JsonProperty(value = "properties.timespan")
+ private String timespan;
+
+ /*
+ * The interval (window size) for which the metric data was returned in.
+ * This may be adjusted in the future and returned back from what was
+ * originally requested. This is not present if a metadata request was
+ * made.
+ */
+ @JsonProperty(value = "properties.interval")
+ private Duration interval;
+
+ /*
+ * The aggregation type of the metric.
+ */
+ @JsonProperty(value = "properties.aggregation")
+ private String aggregation;
+
+ /*
+ * the array of timestamps of the baselines.
+ */
+ @JsonProperty(value = "properties.timestamps")
+ private List timestamps;
+
+ /*
+ * the baseline values for each sensitivity.
+ */
+ @JsonProperty(value = "properties.baseline")
+ private List baseline;
+
+ /*
+ * the baseline metadata values.
+ */
+ @JsonProperty(value = "properties.metadata")
+ private List metadata;
+
+ /**
+ * Get the id property: the metric baseline Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the type property: the resource type of the baseline resource.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: the name and the display name of the metric, i.e. it is localizable string.
+ *
+ * @return the name value.
+ */
+ public LocalizableStringInner name() {
+ return this.name;
+ }
+
+ /**
+ * Get the timespan property: The timespan for which the data was retrieved. Its value consists of two datetimes
+ * concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally
+ * requested.
+ *
+ * @return the timespan value.
+ */
+ public String timespan() {
+ return this.timespan;
+ }
+
+ /**
+ * Set the timespan property: The timespan for which the data was retrieved. Its value consists of two datetimes
+ * concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally
+ * requested.
+ *
+ * @param timespan the timespan value to set.
+ * @return the BaselineResponseInner object itself.
+ */
+ public BaselineResponseInner withTimespan(String timespan) {
+ this.timespan = timespan;
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval (window size) for which the metric data was returned in. This may be
+ * adjusted in the future and returned back from what was originally requested. This is not present if a metadata
+ * request was made.
+ *
+ * @return the interval value.
+ */
+ public Duration interval() {
+ return this.interval;
+ }
+
+ /**
+ * Set the interval property: The interval (window size) for which the metric data was returned in. This may be
+ * adjusted in the future and returned back from what was originally requested. This is not present if a metadata
+ * request was made.
+ *
+ * @param interval the interval value to set.
+ * @return the BaselineResponseInner object itself.
+ */
+ public BaselineResponseInner withInterval(Duration interval) {
+ this.interval = interval;
+ return this;
+ }
+
+ /**
+ * Get the aggregation property: The aggregation type of the metric.
+ *
+ * @return the aggregation value.
+ */
+ public String aggregation() {
+ return this.aggregation;
+ }
+
+ /**
+ * Set the aggregation property: The aggregation type of the metric.
+ *
+ * @param aggregation the aggregation value to set.
+ * @return the BaselineResponseInner object itself.
+ */
+ public BaselineResponseInner withAggregation(String aggregation) {
+ this.aggregation = aggregation;
+ return this;
+ }
+
+ /**
+ * Get the timestamps property: the array of timestamps of the baselines.
+ *
+ * @return the timestamps value.
+ */
+ public List timestamps() {
+ return this.timestamps;
+ }
+
+ /**
+ * Set the timestamps property: the array of timestamps of the baselines.
+ *
+ * @param timestamps the timestamps value to set.
+ * @return the BaselineResponseInner object itself.
+ */
+ public BaselineResponseInner withTimestamps(List timestamps) {
+ this.timestamps = timestamps;
+ return this;
+ }
+
+ /**
+ * Get the baseline property: the baseline values for each sensitivity.
+ *
+ * @return the baseline value.
+ */
+ public List baseline() {
+ return this.baseline;
+ }
+
+ /**
+ * Set the baseline property: the baseline values for each sensitivity.
+ *
+ * @param baseline the baseline value to set.
+ * @return the BaselineResponseInner object itself.
+ */
+ public BaselineResponseInner withBaseline(List baseline) {
+ this.baseline = baseline;
+ return this;
+ }
+
+ /**
+ * Get the metadata property: the baseline metadata values.
+ *
+ * @return the metadata value.
+ */
+ public List metadata() {
+ return this.metadata;
+ }
+
+ /**
+ * Set the metadata property: the baseline metadata values.
+ *
+ * @param metadata the metadata value to set.
+ * @return the BaselineResponseInner object itself.
+ */
+ public BaselineResponseInner withMetadata(List metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (name() != null) {
+ name().validate();
+ }
+ if (baseline() != null) {
+ baseline().forEach(e -> e.validate());
+ }
+ if (metadata() != null) {
+ metadata().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/CalculateBaselineResponseInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/CalculateBaselineResponseInner.java
new file mode 100644
index 0000000000000..36a3ad7a30ff5
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/CalculateBaselineResponseInner.java
@@ -0,0 +1,119 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.Baseline;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** The response to a calculate baseline call. */
+@Fluent
+public final class CalculateBaselineResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CalculateBaselineResponseInner.class);
+
+ /*
+ * the resource type of the baseline resource.
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /*
+ * the array of timestamps of the baselines.
+ */
+ @JsonProperty(value = "timestamps")
+ private List timestamps;
+
+ /*
+ * the baseline values for each sensitivity.
+ */
+ @JsonProperty(value = "baseline", required = true)
+ private List baseline;
+
+ /**
+ * Get the type property: the resource type of the baseline resource.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: the resource type of the baseline resource.
+ *
+ * @param type the type value to set.
+ * @return the CalculateBaselineResponseInner object itself.
+ */
+ public CalculateBaselineResponseInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the timestamps property: the array of timestamps of the baselines.
+ *
+ * @return the timestamps value.
+ */
+ public List timestamps() {
+ return this.timestamps;
+ }
+
+ /**
+ * Set the timestamps property: the array of timestamps of the baselines.
+ *
+ * @param timestamps the timestamps value to set.
+ * @return the CalculateBaselineResponseInner object itself.
+ */
+ public CalculateBaselineResponseInner withTimestamps(List timestamps) {
+ this.timestamps = timestamps;
+ return this;
+ }
+
+ /**
+ * Get the baseline property: the baseline values for each sensitivity.
+ *
+ * @return the baseline value.
+ */
+ public List baseline() {
+ return this.baseline;
+ }
+
+ /**
+ * Set the baseline property: the baseline values for each sensitivity.
+ *
+ * @param baseline the baseline value to set.
+ * @return the CalculateBaselineResponseInner object itself.
+ */
+ public CalculateBaselineResponseInner withBaseline(List baseline) {
+ this.baseline = baseline;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (type() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property type in model CalculateBaselineResponseInner"));
+ }
+ if (baseline() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property baseline in model CalculateBaselineResponseInner"));
+ } else {
+ baseline().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsCategoryResourceCollectionInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsCategoryResourceCollectionInner.java
new file mode 100644
index 0000000000000..d6133674d6d0f
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsCategoryResourceCollectionInner.java
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Represents a collection of diagnostic setting category resources. */
+@Fluent
+public final class DiagnosticSettingsCategoryResourceCollectionInner {
+ @JsonIgnore
+ private final ClientLogger logger = new ClientLogger(DiagnosticSettingsCategoryResourceCollectionInner.class);
+
+ /*
+ * The collection of diagnostic settings category resources.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the value property: The collection of diagnostic settings category resources.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The collection of diagnostic settings category resources.
+ *
+ * @param value the value value to set.
+ * @return the DiagnosticSettingsCategoryResourceCollectionInner object itself.
+ */
+ public DiagnosticSettingsCategoryResourceCollectionInner withValue(
+ List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsCategoryResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsCategoryResourceInner.java
new file mode 100644
index 0000000000000..ea027cb3bd518
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsCategoryResourceInner.java
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.CategoryType;
+import com.azure.resourcemanager.monitor.generated.models.ProxyOnlyResource;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The diagnostic settings category resource. */
+@JsonFlatten
+@Fluent
+public class DiagnosticSettingsCategoryResourceInner extends ProxyOnlyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DiagnosticSettingsCategoryResourceInner.class);
+
+ /*
+ * The type of the diagnostic settings category.
+ */
+ @JsonProperty(value = "properties.categoryType")
+ private CategoryType categoryType;
+
+ /**
+ * Get the categoryType property: The type of the diagnostic settings category.
+ *
+ * @return the categoryType value.
+ */
+ public CategoryType categoryType() {
+ return this.categoryType;
+ }
+
+ /**
+ * Set the categoryType property: The type of the diagnostic settings category.
+ *
+ * @param categoryType the categoryType value to set.
+ * @return the DiagnosticSettingsCategoryResourceInner object itself.
+ */
+ public DiagnosticSettingsCategoryResourceInner withCategoryType(CategoryType categoryType) {
+ this.categoryType = categoryType;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsResourceCollectionInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsResourceCollectionInner.java
new file mode 100644
index 0000000000000..def808a83ae4b
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsResourceCollectionInner.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Represents a collection of alert rule resources. */
+@Fluent
+public final class DiagnosticSettingsResourceCollectionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DiagnosticSettingsResourceCollectionInner.class);
+
+ /*
+ * The collection of diagnostic settings resources;.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the value property: The collection of diagnostic settings resources;.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The collection of diagnostic settings resources;.
+ *
+ * @param value the value value to set.
+ * @return the DiagnosticSettingsResourceCollectionInner object itself.
+ */
+ public DiagnosticSettingsResourceCollectionInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsResourceInner.java
new file mode 100644
index 0000000000000..c6703fd23792e
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/DiagnosticSettingsResourceInner.java
@@ -0,0 +1,271 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.LogSettings;
+import com.azure.resourcemanager.monitor.generated.models.MetricSettings;
+import com.azure.resourcemanager.monitor.generated.models.ProxyOnlyResource;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The diagnostic setting resource. */
+@JsonFlatten
+@Fluent
+public class DiagnosticSettingsResourceInner extends ProxyOnlyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DiagnosticSettingsResourceInner.class);
+
+ /*
+ * The resource ID of the storage account to which you would like to send
+ * Diagnostic Logs.
+ */
+ @JsonProperty(value = "properties.storageAccountId")
+ private String storageAccountId;
+
+ /*
+ * The service bus rule Id of the diagnostic setting. This is here to
+ * maintain backwards compatibility.
+ */
+ @JsonProperty(value = "properties.serviceBusRuleId")
+ private String serviceBusRuleId;
+
+ /*
+ * The resource Id for the event hub authorization rule.
+ */
+ @JsonProperty(value = "properties.eventHubAuthorizationRuleId")
+ private String eventHubAuthorizationRuleId;
+
+ /*
+ * The name of the event hub. If none is specified, the default event hub
+ * will be selected.
+ */
+ @JsonProperty(value = "properties.eventHubName")
+ private String eventHubName;
+
+ /*
+ * The list of metric settings.
+ */
+ @JsonProperty(value = "properties.metrics")
+ private List metrics;
+
+ /*
+ * The list of logs settings.
+ */
+ @JsonProperty(value = "properties.logs")
+ private List logs;
+
+ /*
+ * The full ARM resource ID of the Log Analytics workspace to which you
+ * would like to send Diagnostic Logs. Example:
+ * /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2
+ */
+ @JsonProperty(value = "properties.workspaceId")
+ private String workspaceId;
+
+ /*
+ * A string indicating whether the export to Log Analytics should use the
+ * default destination type, i.e. AzureDiagnostics, or use a destination
+ * type constructed as follows: _. Possible values are: Dedicated and null (null is
+ * default.)
+ */
+ @JsonProperty(value = "properties.logAnalyticsDestinationType")
+ private String logAnalyticsDestinationType;
+
+ /**
+ * Get the storageAccountId property: The resource ID of the storage account to which you would like to send
+ * Diagnostic Logs.
+ *
+ * @return the storageAccountId value.
+ */
+ public String storageAccountId() {
+ return this.storageAccountId;
+ }
+
+ /**
+ * Set the storageAccountId property: The resource ID of the storage account to which you would like to send
+ * Diagnostic Logs.
+ *
+ * @param storageAccountId the storageAccountId value to set.
+ * @return the DiagnosticSettingsResourceInner object itself.
+ */
+ public DiagnosticSettingsResourceInner withStorageAccountId(String storageAccountId) {
+ this.storageAccountId = storageAccountId;
+ return this;
+ }
+
+ /**
+ * Get the serviceBusRuleId property: The service bus rule Id of the diagnostic setting. This is here to maintain
+ * backwards compatibility.
+ *
+ * @return the serviceBusRuleId value.
+ */
+ public String serviceBusRuleId() {
+ return this.serviceBusRuleId;
+ }
+
+ /**
+ * Set the serviceBusRuleId property: The service bus rule Id of the diagnostic setting. This is here to maintain
+ * backwards compatibility.
+ *
+ * @param serviceBusRuleId the serviceBusRuleId value to set.
+ * @return the DiagnosticSettingsResourceInner object itself.
+ */
+ public DiagnosticSettingsResourceInner withServiceBusRuleId(String serviceBusRuleId) {
+ this.serviceBusRuleId = serviceBusRuleId;
+ return this;
+ }
+
+ /**
+ * Get the eventHubAuthorizationRuleId property: The resource Id for the event hub authorization rule.
+ *
+ * @return the eventHubAuthorizationRuleId value.
+ */
+ public String eventHubAuthorizationRuleId() {
+ return this.eventHubAuthorizationRuleId;
+ }
+
+ /**
+ * Set the eventHubAuthorizationRuleId property: The resource Id for the event hub authorization rule.
+ *
+ * @param eventHubAuthorizationRuleId the eventHubAuthorizationRuleId value to set.
+ * @return the DiagnosticSettingsResourceInner object itself.
+ */
+ public DiagnosticSettingsResourceInner withEventHubAuthorizationRuleId(String eventHubAuthorizationRuleId) {
+ this.eventHubAuthorizationRuleId = eventHubAuthorizationRuleId;
+ return this;
+ }
+
+ /**
+ * Get the eventHubName property: The name of the event hub. If none is specified, the default event hub will be
+ * selected.
+ *
+ * @return the eventHubName value.
+ */
+ public String eventHubName() {
+ return this.eventHubName;
+ }
+
+ /**
+ * Set the eventHubName property: The name of the event hub. If none is specified, the default event hub will be
+ * selected.
+ *
+ * @param eventHubName the eventHubName value to set.
+ * @return the DiagnosticSettingsResourceInner object itself.
+ */
+ public DiagnosticSettingsResourceInner withEventHubName(String eventHubName) {
+ this.eventHubName = eventHubName;
+ return this;
+ }
+
+ /**
+ * Get the metrics property: The list of metric settings.
+ *
+ * @return the metrics value.
+ */
+ public List metrics() {
+ return this.metrics;
+ }
+
+ /**
+ * Set the metrics property: The list of metric settings.
+ *
+ * @param metrics the metrics value to set.
+ * @return the DiagnosticSettingsResourceInner object itself.
+ */
+ public DiagnosticSettingsResourceInner withMetrics(List metrics) {
+ this.metrics = metrics;
+ return this;
+ }
+
+ /**
+ * Get the logs property: The list of logs settings.
+ *
+ * @return the logs value.
+ */
+ public List logs() {
+ return this.logs;
+ }
+
+ /**
+ * Set the logs property: The list of logs settings.
+ *
+ * @param logs the logs value to set.
+ * @return the DiagnosticSettingsResourceInner object itself.
+ */
+ public DiagnosticSettingsResourceInner withLogs(List logs) {
+ this.logs = logs;
+ return this;
+ }
+
+ /**
+ * Get the workspaceId property: The full ARM resource ID of the Log Analytics workspace to which you would like to
+ * send Diagnostic Logs. Example:
+ * /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2.
+ *
+ * @return the workspaceId value.
+ */
+ public String workspaceId() {
+ return this.workspaceId;
+ }
+
+ /**
+ * Set the workspaceId property: The full ARM resource ID of the Log Analytics workspace to which you would like to
+ * send Diagnostic Logs. Example:
+ * /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2.
+ *
+ * @param workspaceId the workspaceId value to set.
+ * @return the DiagnosticSettingsResourceInner object itself.
+ */
+ public DiagnosticSettingsResourceInner withWorkspaceId(String workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ /**
+ * Get the logAnalyticsDestinationType property: A string indicating whether the export to Log Analytics should use
+ * the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows:
+ * <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null
+ * (null is default.).
+ *
+ * @return the logAnalyticsDestinationType value.
+ */
+ public String logAnalyticsDestinationType() {
+ return this.logAnalyticsDestinationType;
+ }
+
+ /**
+ * Set the logAnalyticsDestinationType property: A string indicating whether the export to Log Analytics should use
+ * the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows:
+ * <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null
+ * (null is default.).
+ *
+ * @param logAnalyticsDestinationType the logAnalyticsDestinationType value to set.
+ * @return the DiagnosticSettingsResourceInner object itself.
+ */
+ public DiagnosticSettingsResourceInner withLogAnalyticsDestinationType(String logAnalyticsDestinationType) {
+ this.logAnalyticsDestinationType = logAnalyticsDestinationType;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (metrics() != null) {
+ metrics().forEach(e -> e.validate());
+ }
+ if (logs() != null) {
+ logs().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/EventDataInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/EventDataInner.java
new file mode 100644
index 0000000000000..471c6fa0445da
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/EventDataInner.java
@@ -0,0 +1,453 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.EventLevel;
+import com.azure.resourcemanager.monitor.generated.models.HttpRequestInfo;
+import com.azure.resourcemanager.monitor.generated.models.SenderAuthorization;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.Map;
+
+/** The Azure event log entries are of type EventData. */
+@Immutable
+public final class EventDataInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EventDataInner.class);
+
+ /*
+ * The sender authorization information.
+ */
+ @JsonProperty(value = "authorization", access = JsonProperty.Access.WRITE_ONLY)
+ private SenderAuthorization authorization;
+
+ /*
+ * key value pairs to identify ARM permissions.
+ */
+ @JsonProperty(value = "claims", access = JsonProperty.Access.WRITE_ONLY)
+ private Map claims;
+
+ /*
+ * the email address of the user who has performed the operation, the UPN
+ * claim or SPN claim based on availability.
+ */
+ @JsonProperty(value = "caller", access = JsonProperty.Access.WRITE_ONLY)
+ private String caller;
+
+ /*
+ * the description of the event.
+ */
+ @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY)
+ private String description;
+
+ /*
+ * the Id of this event as required by ARM for RBAC. It contains the
+ * EventDataID and a timestamp information.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * the event data Id. This is a unique identifier for an event.
+ */
+ @JsonProperty(value = "eventDataId", access = JsonProperty.Access.WRITE_ONLY)
+ private String eventDataId;
+
+ /*
+ * the correlation Id, usually a GUID in the string format. The correlation
+ * Id is shared among the events that belong to the same uber operation.
+ */
+ @JsonProperty(value = "correlationId", access = JsonProperty.Access.WRITE_ONLY)
+ private String correlationId;
+
+ /*
+ * the event name. This value should not be confused with OperationName.
+ * For practical purposes, OperationName might be more appealing to end
+ * users.
+ */
+ @JsonProperty(value = "eventName", access = JsonProperty.Access.WRITE_ONLY)
+ private LocalizableStringInner eventName;
+
+ /*
+ * the event category.
+ */
+ @JsonProperty(value = "category", access = JsonProperty.Access.WRITE_ONLY)
+ private LocalizableStringInner category;
+
+ /*
+ * the HTTP request info. Usually includes the 'clientRequestId',
+ * 'clientIpAddress' (IP address of the user who initiated the event) and
+ * 'method' (HTTP method e.g. PUT).
+ */
+ @JsonProperty(value = "httpRequest", access = JsonProperty.Access.WRITE_ONLY)
+ private HttpRequestInfo httpRequest;
+
+ /*
+ * the event level
+ */
+ @JsonProperty(value = "level", access = JsonProperty.Access.WRITE_ONLY)
+ private EventLevel level;
+
+ /*
+ * the resource group name of the impacted resource.
+ */
+ @JsonProperty(value = "resourceGroupName", access = JsonProperty.Access.WRITE_ONLY)
+ private String resourceGroupName;
+
+ /*
+ * the resource provider name of the impacted resource.
+ */
+ @JsonProperty(value = "resourceProviderName", access = JsonProperty.Access.WRITE_ONLY)
+ private LocalizableStringInner resourceProviderName;
+
+ /*
+ * the resource uri that uniquely identifies the resource that caused this
+ * event.
+ */
+ @JsonProperty(value = "resourceId", access = JsonProperty.Access.WRITE_ONLY)
+ private String resourceId;
+
+ /*
+ * the resource type
+ */
+ @JsonProperty(value = "resourceType", access = JsonProperty.Access.WRITE_ONLY)
+ private LocalizableStringInner resourceType;
+
+ /*
+ * It is usually a GUID shared among the events corresponding to single
+ * operation. This value should not be confused with EventName.
+ */
+ @JsonProperty(value = "operationId", access = JsonProperty.Access.WRITE_ONLY)
+ private String operationId;
+
+ /*
+ * the operation name.
+ */
+ @JsonProperty(value = "operationName", access = JsonProperty.Access.WRITE_ONLY)
+ private LocalizableStringInner operationName;
+
+ /*
+ * the set of pairs (usually a Dictionary)
+ * that includes details about the event.
+ */
+ @JsonProperty(value = "properties", access = JsonProperty.Access.WRITE_ONLY)
+ private Map properties;
+
+ /*
+ * a string describing the status of the operation. Some typical values
+ * are: Started, In progress, Succeeded, Failed, Resolved.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private LocalizableStringInner status;
+
+ /*
+ * the event sub status. Most of the time, when included, this captures the
+ * HTTP status code of the REST call. Common values are: OK (HTTP Status
+ * Code: 200), Created (HTTP Status Code: 201), Accepted (HTTP Status Code:
+ * 202), No Content (HTTP Status Code: 204), Bad Request(HTTP Status Code:
+ * 400), Not Found (HTTP Status Code: 404), Conflict (HTTP Status Code:
+ * 409), Internal Server Error (HTTP Status Code: 500), Service Unavailable
+ * (HTTP Status Code:503), Gateway Timeout (HTTP Status Code: 504)
+ */
+ @JsonProperty(value = "subStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private LocalizableStringInner subStatus;
+
+ /*
+ * the timestamp of when the event was generated by the Azure service
+ * processing the request corresponding the event. It in ISO 8601 format.
+ */
+ @JsonProperty(value = "eventTimestamp", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime eventTimestamp;
+
+ /*
+ * the timestamp of when the event became available for querying via this
+ * API. It is in ISO 8601 format. This value should not be confused
+ * eventTimestamp. As there might be a delay between the occurrence time of
+ * the event, and the time that the event is submitted to the Azure logging
+ * infrastructure.
+ */
+ @JsonProperty(value = "submissionTimestamp", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime submissionTimestamp;
+
+ /*
+ * the Azure subscription Id usually a GUID.
+ */
+ @JsonProperty(value = "subscriptionId", access = JsonProperty.Access.WRITE_ONLY)
+ private String subscriptionId;
+
+ /*
+ * the Azure tenant Id
+ */
+ @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY)
+ private String tenantId;
+
+ /**
+ * Get the authorization property: The sender authorization information.
+ *
+ * @return the authorization value.
+ */
+ public SenderAuthorization authorization() {
+ return this.authorization;
+ }
+
+ /**
+ * Get the claims property: key value pairs to identify ARM permissions.
+ *
+ * @return the claims value.
+ */
+ public Map claims() {
+ return this.claims;
+ }
+
+ /**
+ * Get the caller property: the email address of the user who has performed the operation, the UPN claim or SPN
+ * claim based on availability.
+ *
+ * @return the caller value.
+ */
+ public String caller() {
+ return this.caller;
+ }
+
+ /**
+ * Get the description property: the description of the event.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Get the id property: the Id of this event as required by ARM for RBAC. It contains the EventDataID and a
+ * timestamp information.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the eventDataId property: the event data Id. This is a unique identifier for an event.
+ *
+ * @return the eventDataId value.
+ */
+ public String eventDataId() {
+ return this.eventDataId;
+ }
+
+ /**
+ * Get the correlationId property: the correlation Id, usually a GUID in the string format. The correlation Id is
+ * shared among the events that belong to the same uber operation.
+ *
+ * @return the correlationId value.
+ */
+ public String correlationId() {
+ return this.correlationId;
+ }
+
+ /**
+ * Get the eventName property: the event name. This value should not be confused with OperationName. For practical
+ * purposes, OperationName might be more appealing to end users.
+ *
+ * @return the eventName value.
+ */
+ public LocalizableStringInner eventName() {
+ return this.eventName;
+ }
+
+ /**
+ * Get the category property: the event category.
+ *
+ * @return the category value.
+ */
+ public LocalizableStringInner category() {
+ return this.category;
+ }
+
+ /**
+ * Get the httpRequest property: the HTTP request info. Usually includes the 'clientRequestId', 'clientIpAddress'
+ * (IP address of the user who initiated the event) and 'method' (HTTP method e.g. PUT).
+ *
+ * @return the httpRequest value.
+ */
+ public HttpRequestInfo httpRequest() {
+ return this.httpRequest;
+ }
+
+ /**
+ * Get the level property: the event level.
+ *
+ * @return the level value.
+ */
+ public EventLevel level() {
+ return this.level;
+ }
+
+ /**
+ * Get the resourceGroupName property: the resource group name of the impacted resource.
+ *
+ * @return the resourceGroupName value.
+ */
+ public String resourceGroupName() {
+ return this.resourceGroupName;
+ }
+
+ /**
+ * Get the resourceProviderName property: the resource provider name of the impacted resource.
+ *
+ * @return the resourceProviderName value.
+ */
+ public LocalizableStringInner resourceProviderName() {
+ return this.resourceProviderName;
+ }
+
+ /**
+ * Get the resourceId property: the resource uri that uniquely identifies the resource that caused this event.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Get the resourceType property: the resource type.
+ *
+ * @return the resourceType value.
+ */
+ public LocalizableStringInner resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Get the operationId property: It is usually a GUID shared among the events corresponding to single operation.
+ * This value should not be confused with EventName.
+ *
+ * @return the operationId value.
+ */
+ public String operationId() {
+ return this.operationId;
+ }
+
+ /**
+ * Get the operationName property: the operation name.
+ *
+ * @return the operationName value.
+ */
+ public LocalizableStringInner operationName() {
+ return this.operationName;
+ }
+
+ /**
+ * Get the properties property: the set of <Key, Value> pairs (usually a Dictionary<String, String>)
+ * that includes details about the event.
+ *
+ * @return the properties value.
+ */
+ public Map properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the status property: a string describing the status of the operation. Some typical values are: Started, In
+ * progress, Succeeded, Failed, Resolved.
+ *
+ * @return the status value.
+ */
+ public LocalizableStringInner status() {
+ return this.status;
+ }
+
+ /**
+ * Get the subStatus property: the event sub status. Most of the time, when included, this captures the HTTP status
+ * code of the REST call. Common values are: OK (HTTP Status Code: 200), Created (HTTP Status Code: 201), Accepted
+ * (HTTP Status Code: 202), No Content (HTTP Status Code: 204), Bad Request(HTTP Status Code: 400), Not Found (HTTP
+ * Status Code: 404), Conflict (HTTP Status Code: 409), Internal Server Error (HTTP Status Code: 500), Service
+ * Unavailable (HTTP Status Code:503), Gateway Timeout (HTTP Status Code: 504).
+ *
+ * @return the subStatus value.
+ */
+ public LocalizableStringInner subStatus() {
+ return this.subStatus;
+ }
+
+ /**
+ * Get the eventTimestamp property: the timestamp of when the event was generated by the Azure service processing
+ * the request corresponding the event. It in ISO 8601 format.
+ *
+ * @return the eventTimestamp value.
+ */
+ public OffsetDateTime eventTimestamp() {
+ return this.eventTimestamp;
+ }
+
+ /**
+ * Get the submissionTimestamp property: the timestamp of when the event became available for querying via this API.
+ * It is in ISO 8601 format. This value should not be confused eventTimestamp. As there might be a delay between the
+ * occurrence time of the event, and the time that the event is submitted to the Azure logging infrastructure.
+ *
+ * @return the submissionTimestamp value.
+ */
+ public OffsetDateTime submissionTimestamp() {
+ return this.submissionTimestamp;
+ }
+
+ /**
+ * Get the subscriptionId property: the Azure subscription Id usually a GUID.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Get the tenantId property: the Azure tenant Id.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (authorization() != null) {
+ authorization().validate();
+ }
+ if (eventName() != null) {
+ eventName().validate();
+ }
+ if (category() != null) {
+ category().validate();
+ }
+ if (httpRequest() != null) {
+ httpRequest().validate();
+ }
+ if (resourceProviderName() != null) {
+ resourceProviderName().validate();
+ }
+ if (resourceType() != null) {
+ resourceType().validate();
+ }
+ if (operationName() != null) {
+ operationName().validate();
+ }
+ if (status() != null) {
+ status().validate();
+ }
+ if (subStatus() != null) {
+ subStatus().validate();
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/IncidentInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/IncidentInner.java
new file mode 100644
index 0000000000000..f52df684f2d94
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/IncidentInner.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** An alert incident indicates the activation status of an alert rule. */
+@Immutable
+public final class IncidentInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(IncidentInner.class);
+
+ /*
+ * Incident name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Rule name that is associated with the incident.
+ */
+ @JsonProperty(value = "ruleName", access = JsonProperty.Access.WRITE_ONLY)
+ private String ruleName;
+
+ /*
+ * A boolean to indicate whether the incident is active or resolved.
+ */
+ @JsonProperty(value = "isActive", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isActive;
+
+ /*
+ * The time at which the incident was activated in ISO8601 format.
+ */
+ @JsonProperty(value = "activatedTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime activatedTime;
+
+ /*
+ * The time at which the incident was resolved in ISO8601 format. If null,
+ * it means the incident is still active.
+ */
+ @JsonProperty(value = "resolvedTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime resolvedTime;
+
+ /**
+ * Get the name property: Incident name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the ruleName property: Rule name that is associated with the incident.
+ *
+ * @return the ruleName value.
+ */
+ public String ruleName() {
+ return this.ruleName;
+ }
+
+ /**
+ * Get the isActive property: A boolean to indicate whether the incident is active or resolved.
+ *
+ * @return the isActive value.
+ */
+ public Boolean isActive() {
+ return this.isActive;
+ }
+
+ /**
+ * Get the activatedTime property: The time at which the incident was activated in ISO8601 format.
+ *
+ * @return the activatedTime value.
+ */
+ public OffsetDateTime activatedTime() {
+ return this.activatedTime;
+ }
+
+ /**
+ * Get the resolvedTime property: The time at which the incident was resolved in ISO8601 format. If null, it means
+ * the incident is still active.
+ *
+ * @return the resolvedTime value.
+ */
+ public OffsetDateTime resolvedTime() {
+ return this.resolvedTime;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LocalizableStringInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LocalizableStringInner.java
new file mode 100644
index 0000000000000..7bb7f54ebb59d
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LocalizableStringInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The localizable string class. */
+@Fluent
+public final class LocalizableStringInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(LocalizableStringInner.class);
+
+ /*
+ * the invariant value.
+ */
+ @JsonProperty(value = "value", required = true)
+ private String value;
+
+ /*
+ * the locale specific value.
+ */
+ @JsonProperty(value = "localizedValue")
+ private String localizedValue;
+
+ /**
+ * Get the value property: the invariant value.
+ *
+ * @return the value value.
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: the invariant value.
+ *
+ * @param value the value value to set.
+ * @return the LocalizableStringInner object itself.
+ */
+ public LocalizableStringInner withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the localizedValue property: the locale specific value.
+ *
+ * @return the localizedValue value.
+ */
+ public String localizedValue() {
+ return this.localizedValue;
+ }
+
+ /**
+ * Set the localizedValue property: the locale specific value.
+ *
+ * @param localizedValue the localizedValue value to set.
+ * @return the LocalizableStringInner object itself.
+ */
+ public LocalizableStringInner withLocalizedValue(String localizedValue) {
+ this.localizedValue = localizedValue;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property value in model LocalizableStringInner"));
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LogProfileResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LogProfileResourceInner.java
new file mode 100644
index 0000000000000..7a1c0e180b14e
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LogProfileResourceInner.java
@@ -0,0 +1,212 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.RetentionPolicy;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** The log profile resource. */
+@JsonFlatten
+@Fluent
+public class LogProfileResourceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(LogProfileResourceInner.class);
+
+ /*
+ * the resource id of the storage account to which you would like to send
+ * the Activity Log.
+ */
+ @JsonProperty(value = "properties.storageAccountId")
+ private String storageAccountId;
+
+ /*
+ * The service bus rule ID of the service bus namespace in which you would
+ * like to have Event Hubs created for streaming the Activity Log. The rule
+ * ID is of the format: '{service bus resource ID}/authorizationrules/{key
+ * name}'.
+ */
+ @JsonProperty(value = "properties.serviceBusRuleId")
+ private String serviceBusRuleId;
+
+ /*
+ * List of regions for which Activity Log events should be stored or
+ * streamed. It is a comma separated list of valid ARM locations including
+ * the 'global' location.
+ */
+ @JsonProperty(value = "properties.locations", required = true)
+ private List locations;
+
+ /*
+ * the categories of the logs. These categories are created as is
+ * convenient to the user. Some values are: 'Write', 'Delete', and/or
+ * 'Action.'
+ */
+ @JsonProperty(value = "properties.categories", required = true)
+ private List categories;
+
+ /*
+ * the retention policy for the events in the log.
+ */
+ @JsonProperty(value = "properties.retentionPolicy", required = true)
+ private RetentionPolicy retentionPolicy;
+
+ /**
+ * Get the storageAccountId property: the resource id of the storage account to which you would like to send the
+ * Activity Log.
+ *
+ * @return the storageAccountId value.
+ */
+ public String storageAccountId() {
+ return this.storageAccountId;
+ }
+
+ /**
+ * Set the storageAccountId property: the resource id of the storage account to which you would like to send the
+ * Activity Log.
+ *
+ * @param storageAccountId the storageAccountId value to set.
+ * @return the LogProfileResourceInner object itself.
+ */
+ public LogProfileResourceInner withStorageAccountId(String storageAccountId) {
+ this.storageAccountId = storageAccountId;
+ return this;
+ }
+
+ /**
+ * Get the serviceBusRuleId property: The service bus rule ID of the service bus namespace in which you would like
+ * to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource
+ * ID}/authorizationrules/{key name}'.
+ *
+ * @return the serviceBusRuleId value.
+ */
+ public String serviceBusRuleId() {
+ return this.serviceBusRuleId;
+ }
+
+ /**
+ * Set the serviceBusRuleId property: The service bus rule ID of the service bus namespace in which you would like
+ * to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource
+ * ID}/authorizationrules/{key name}'.
+ *
+ * @param serviceBusRuleId the serviceBusRuleId value to set.
+ * @return the LogProfileResourceInner object itself.
+ */
+ public LogProfileResourceInner withServiceBusRuleId(String serviceBusRuleId) {
+ this.serviceBusRuleId = serviceBusRuleId;
+ return this;
+ }
+
+ /**
+ * Get the locations property: List of regions for which Activity Log events should be stored or streamed. It is a
+ * comma separated list of valid ARM locations including the 'global' location.
+ *
+ * @return the locations value.
+ */
+ public List locations() {
+ return this.locations;
+ }
+
+ /**
+ * Set the locations property: List of regions for which Activity Log events should be stored or streamed. It is a
+ * comma separated list of valid ARM locations including the 'global' location.
+ *
+ * @param locations the locations value to set.
+ * @return the LogProfileResourceInner object itself.
+ */
+ public LogProfileResourceInner withLocations(List locations) {
+ this.locations = locations;
+ return this;
+ }
+
+ /**
+ * Get the categories property: the categories of the logs. These categories are created as is convenient to the
+ * user. Some values are: 'Write', 'Delete', and/or 'Action.'.
+ *
+ * @return the categories value.
+ */
+ public List categories() {
+ return this.categories;
+ }
+
+ /**
+ * Set the categories property: the categories of the logs. These categories are created as is convenient to the
+ * user. Some values are: 'Write', 'Delete', and/or 'Action.'.
+ *
+ * @param categories the categories value to set.
+ * @return the LogProfileResourceInner object itself.
+ */
+ public LogProfileResourceInner withCategories(List categories) {
+ this.categories = categories;
+ return this;
+ }
+
+ /**
+ * Get the retentionPolicy property: the retention policy for the events in the log.
+ *
+ * @return the retentionPolicy value.
+ */
+ public RetentionPolicy retentionPolicy() {
+ return this.retentionPolicy;
+ }
+
+ /**
+ * Set the retentionPolicy property: the retention policy for the events in the log.
+ *
+ * @param retentionPolicy the retentionPolicy value to set.
+ * @return the LogProfileResourceInner object itself.
+ */
+ public LogProfileResourceInner withRetentionPolicy(RetentionPolicy retentionPolicy) {
+ this.retentionPolicy = retentionPolicy;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public LogProfileResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public LogProfileResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (locations() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property locations in model LogProfileResourceInner"));
+ }
+ if (categories() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property categories in model LogProfileResourceInner"));
+ }
+ if (retentionPolicy() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property retentionPolicy in model LogProfileResourceInner"));
+ } else {
+ retentionPolicy().validate();
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LogSearchRuleResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LogSearchRuleResourceInner.java
new file mode 100644
index 0000000000000..5168798cd8168
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/LogSearchRuleResourceInner.java
@@ -0,0 +1,231 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.Action;
+import com.azure.resourcemanager.monitor.generated.models.Enabled;
+import com.azure.resourcemanager.monitor.generated.models.ProvisioningState;
+import com.azure.resourcemanager.monitor.generated.models.Schedule;
+import com.azure.resourcemanager.monitor.generated.models.Source;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.Map;
+
+/** The Log Search Rule resource. */
+@JsonFlatten
+@Fluent
+public class LogSearchRuleResourceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(LogSearchRuleResourceInner.class);
+
+ /*
+ * The description of the Log Search rule.
+ */
+ @JsonProperty(value = "properties.description")
+ private String description;
+
+ /*
+ * The flag which indicates whether the Log Search rule is enabled. Value
+ * should be true or false
+ */
+ @JsonProperty(value = "properties.enabled")
+ private Enabled enabled;
+
+ /*
+ * Last time the rule was updated in IS08601 format.
+ */
+ @JsonProperty(value = "properties.lastUpdatedTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastUpdatedTime;
+
+ /*
+ * Provisioning state of the scheduled query rule
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Data Source against which rule will Query Data
+ */
+ @JsonProperty(value = "properties.source", required = true)
+ private Source source;
+
+ /*
+ * Schedule (Frequency, Time Window) for rule. Required for action type -
+ * AlertingAction
+ */
+ @JsonProperty(value = "properties.schedule")
+ private Schedule schedule;
+
+ /*
+ * Action needs to be taken on rule execution.
+ */
+ @JsonProperty(value = "properties.action", required = true)
+ private Action action;
+
+ /**
+ * Get the description property: The description of the Log Search rule.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The description of the Log Search rule.
+ *
+ * @param description the description value to set.
+ * @return the LogSearchRuleResourceInner object itself.
+ */
+ public LogSearchRuleResourceInner withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: The flag which indicates whether the Log Search rule is enabled. Value should be true
+ * or false.
+ *
+ * @return the enabled value.
+ */
+ public Enabled enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: The flag which indicates whether the Log Search rule is enabled. Value should be true
+ * or false.
+ *
+ * @param enabled the enabled value to set.
+ * @return the LogSearchRuleResourceInner object itself.
+ */
+ public LogSearchRuleResourceInner withEnabled(Enabled enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the lastUpdatedTime property: Last time the rule was updated in IS08601 format.
+ *
+ * @return the lastUpdatedTime value.
+ */
+ public OffsetDateTime lastUpdatedTime() {
+ return this.lastUpdatedTime;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the scheduled query rule.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the source property: Data Source against which rule will Query Data.
+ *
+ * @return the source value.
+ */
+ public Source source() {
+ return this.source;
+ }
+
+ /**
+ * Set the source property: Data Source against which rule will Query Data.
+ *
+ * @param source the source value to set.
+ * @return the LogSearchRuleResourceInner object itself.
+ */
+ public LogSearchRuleResourceInner withSource(Source source) {
+ this.source = source;
+ return this;
+ }
+
+ /**
+ * Get the schedule property: Schedule (Frequency, Time Window) for rule. Required for action type - AlertingAction.
+ *
+ * @return the schedule value.
+ */
+ public Schedule schedule() {
+ return this.schedule;
+ }
+
+ /**
+ * Set the schedule property: Schedule (Frequency, Time Window) for rule. Required for action type - AlertingAction.
+ *
+ * @param schedule the schedule value to set.
+ * @return the LogSearchRuleResourceInner object itself.
+ */
+ public LogSearchRuleResourceInner withSchedule(Schedule schedule) {
+ this.schedule = schedule;
+ return this;
+ }
+
+ /**
+ * Get the action property: Action needs to be taken on rule execution.
+ *
+ * @return the action value.
+ */
+ public Action action() {
+ return this.action;
+ }
+
+ /**
+ * Set the action property: Action needs to be taken on rule execution.
+ *
+ * @param action the action value to set.
+ * @return the LogSearchRuleResourceInner object itself.
+ */
+ public LogSearchRuleResourceInner withAction(Action action) {
+ this.action = action;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public LogSearchRuleResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public LogSearchRuleResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (source() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property source in model LogSearchRuleResourceInner"));
+ } else {
+ source().validate();
+ }
+ if (schedule() != null) {
+ schedule().validate();
+ }
+ if (action() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property action in model LogSearchRuleResourceInner"));
+ } else {
+ action().validate();
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetadataValueInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetadataValueInner.java
new file mode 100644
index 0000000000000..41f638686af82
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetadataValueInner.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Represents a metric metadata value. */
+@Fluent
+public final class MetadataValueInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetadataValueInner.class);
+
+ /*
+ * the name of the metadata.
+ */
+ @JsonProperty(value = "name")
+ private LocalizableStringInner name;
+
+ /*
+ * the value of the metadata.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * Get the name property: the name of the metadata.
+ *
+ * @return the name value.
+ */
+ public LocalizableStringInner name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: the name of the metadata.
+ *
+ * @param name the name value to set.
+ * @return the MetadataValueInner object itself.
+ */
+ public MetadataValueInner withName(LocalizableStringInner name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the value property: the value of the metadata.
+ *
+ * @return the value value.
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: the value of the metadata.
+ *
+ * @param value the value value to set.
+ * @return the MetadataValueInner object itself.
+ */
+ public MetadataValueInner withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (name() != null) {
+ name().validate();
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricAlertResourceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricAlertResourceInner.java
new file mode 100644
index 0000000000000..e5e5d422a2723
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricAlertResourceInner.java
@@ -0,0 +1,390 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.MetricAlertAction;
+import com.azure.resourcemanager.monitor.generated.models.MetricAlertCriteria;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/** The metric alert resource. */
+@JsonFlatten
+@Fluent
+public class MetricAlertResourceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetricAlertResourceInner.class);
+
+ /*
+ * the description of the metric alert that will be included in the alert
+ * email.
+ */
+ @JsonProperty(value = "properties.description")
+ private String description;
+
+ /*
+ * Alert severity {0, 1, 2, 3, 4}
+ */
+ @JsonProperty(value = "properties.severity", required = true)
+ private int severity;
+
+ /*
+ * the flag that indicates whether the metric alert is enabled.
+ */
+ @JsonProperty(value = "properties.enabled", required = true)
+ private boolean enabled;
+
+ /*
+ * the list of resource id's that this metric alert is scoped to.
+ */
+ @JsonProperty(value = "properties.scopes")
+ private List scopes;
+
+ /*
+ * how often the metric alert is evaluated represented in ISO 8601 duration
+ * format.
+ */
+ @JsonProperty(value = "properties.evaluationFrequency", required = true)
+ private Duration evaluationFrequency;
+
+ /*
+ * the period of time (in ISO 8601 duration format) that is used to monitor
+ * alert activity based on the threshold.
+ */
+ @JsonProperty(value = "properties.windowSize", required = true)
+ private Duration windowSize;
+
+ /*
+ * the resource type of the target resource(s) on which the alert is
+ * created/updated. Mandatory for MultipleResourceMultipleMetricCriteria.
+ */
+ @JsonProperty(value = "properties.targetResourceType")
+ private String targetResourceType;
+
+ /*
+ * the region of the target resource(s) on which the alert is
+ * created/updated. Mandatory for MultipleResourceMultipleMetricCriteria.
+ */
+ @JsonProperty(value = "properties.targetResourceRegion")
+ private String targetResourceRegion;
+
+ /*
+ * defines the specific alert criteria information.
+ */
+ @JsonProperty(value = "properties.criteria", required = true)
+ private MetricAlertCriteria criteria;
+
+ /*
+ * the flag that indicates whether the alert should be auto resolved or
+ * not. The default is true.
+ */
+ @JsonProperty(value = "properties.autoMitigate")
+ private Boolean autoMitigate;
+
+ /*
+ * the array of actions that are performed when the alert rule becomes
+ * active, and when an alert condition is resolved.
+ */
+ @JsonProperty(value = "properties.actions")
+ private List actions;
+
+ /*
+ * Last time the rule was updated in ISO8601 format.
+ */
+ @JsonProperty(value = "properties.lastUpdatedTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastUpdatedTime;
+
+ /**
+ * Get the description property: the description of the metric alert that will be included in the alert email.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: the description of the metric alert that will be included in the alert email.
+ *
+ * @param description the description value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the severity property: Alert severity {0, 1, 2, 3, 4}.
+ *
+ * @return the severity value.
+ */
+ public int severity() {
+ return this.severity;
+ }
+
+ /**
+ * Set the severity property: Alert severity {0, 1, 2, 3, 4}.
+ *
+ * @param severity the severity value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withSeverity(int severity) {
+ this.severity = severity;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: the flag that indicates whether the metric alert is enabled.
+ *
+ * @return the enabled value.
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: the flag that indicates whether the metric alert is enabled.
+ *
+ * @param enabled the enabled value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the scopes property: the list of resource id's that this metric alert is scoped to.
+ *
+ * @return the scopes value.
+ */
+ public List scopes() {
+ return this.scopes;
+ }
+
+ /**
+ * Set the scopes property: the list of resource id's that this metric alert is scoped to.
+ *
+ * @param scopes the scopes value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withScopes(List scopes) {
+ this.scopes = scopes;
+ return this;
+ }
+
+ /**
+ * Get the evaluationFrequency property: how often the metric alert is evaluated represented in ISO 8601 duration
+ * format.
+ *
+ * @return the evaluationFrequency value.
+ */
+ public Duration evaluationFrequency() {
+ return this.evaluationFrequency;
+ }
+
+ /**
+ * Set the evaluationFrequency property: how often the metric alert is evaluated represented in ISO 8601 duration
+ * format.
+ *
+ * @param evaluationFrequency the evaluationFrequency value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withEvaluationFrequency(Duration evaluationFrequency) {
+ this.evaluationFrequency = evaluationFrequency;
+ return this;
+ }
+
+ /**
+ * Get the windowSize property: the period of time (in ISO 8601 duration format) that is used to monitor alert
+ * activity based on the threshold.
+ *
+ * @return the windowSize value.
+ */
+ public Duration windowSize() {
+ return this.windowSize;
+ }
+
+ /**
+ * Set the windowSize property: the period of time (in ISO 8601 duration format) that is used to monitor alert
+ * activity based on the threshold.
+ *
+ * @param windowSize the windowSize value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withWindowSize(Duration windowSize) {
+ this.windowSize = windowSize;
+ return this;
+ }
+
+ /**
+ * Get the targetResourceType property: the resource type of the target resource(s) on which the alert is
+ * created/updated. Mandatory for MultipleResourceMultipleMetricCriteria.
+ *
+ * @return the targetResourceType value.
+ */
+ public String targetResourceType() {
+ return this.targetResourceType;
+ }
+
+ /**
+ * Set the targetResourceType property: the resource type of the target resource(s) on which the alert is
+ * created/updated. Mandatory for MultipleResourceMultipleMetricCriteria.
+ *
+ * @param targetResourceType the targetResourceType value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withTargetResourceType(String targetResourceType) {
+ this.targetResourceType = targetResourceType;
+ return this;
+ }
+
+ /**
+ * Get the targetResourceRegion property: the region of the target resource(s) on which the alert is
+ * created/updated. Mandatory for MultipleResourceMultipleMetricCriteria.
+ *
+ * @return the targetResourceRegion value.
+ */
+ public String targetResourceRegion() {
+ return this.targetResourceRegion;
+ }
+
+ /**
+ * Set the targetResourceRegion property: the region of the target resource(s) on which the alert is
+ * created/updated. Mandatory for MultipleResourceMultipleMetricCriteria.
+ *
+ * @param targetResourceRegion the targetResourceRegion value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withTargetResourceRegion(String targetResourceRegion) {
+ this.targetResourceRegion = targetResourceRegion;
+ return this;
+ }
+
+ /**
+ * Get the criteria property: defines the specific alert criteria information.
+ *
+ * @return the criteria value.
+ */
+ public MetricAlertCriteria criteria() {
+ return this.criteria;
+ }
+
+ /**
+ * Set the criteria property: defines the specific alert criteria information.
+ *
+ * @param criteria the criteria value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withCriteria(MetricAlertCriteria criteria) {
+ this.criteria = criteria;
+ return this;
+ }
+
+ /**
+ * Get the autoMitigate property: the flag that indicates whether the alert should be auto resolved or not. The
+ * default is true.
+ *
+ * @return the autoMitigate value.
+ */
+ public Boolean autoMitigate() {
+ return this.autoMitigate;
+ }
+
+ /**
+ * Set the autoMitigate property: the flag that indicates whether the alert should be auto resolved or not. The
+ * default is true.
+ *
+ * @param autoMitigate the autoMitigate value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withAutoMitigate(Boolean autoMitigate) {
+ this.autoMitigate = autoMitigate;
+ return this;
+ }
+
+ /**
+ * Get the actions property: the array of actions that are performed when the alert rule becomes active, and when an
+ * alert condition is resolved.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: the array of actions that are performed when the alert rule becomes active, and when an
+ * alert condition is resolved.
+ *
+ * @param actions the actions value to set.
+ * @return the MetricAlertResourceInner object itself.
+ */
+ public MetricAlertResourceInner withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Get the lastUpdatedTime property: Last time the rule was updated in ISO8601 format.
+ *
+ * @return the lastUpdatedTime value.
+ */
+ public OffsetDateTime lastUpdatedTime() {
+ return this.lastUpdatedTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MetricAlertResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MetricAlertResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (evaluationFrequency() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property evaluationFrequency in model MetricAlertResourceInner"));
+ }
+ if (windowSize() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property windowSize in model MetricAlertResourceInner"));
+ }
+ if (criteria() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property criteria in model MetricAlertResourceInner"));
+ } else {
+ criteria().validate();
+ }
+ if (actions() != null) {
+ actions().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricAlertStatusCollectionInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricAlertStatusCollectionInner.java
new file mode 100644
index 0000000000000..ee6367fdf3aa9
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricAlertStatusCollectionInner.java
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.MetricAlertStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Represents a collection of alert rule resources. */
+@Fluent
+public final class MetricAlertStatusCollectionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetricAlertStatusCollectionInner.class);
+
+ /*
+ * the values for the alert rule resources.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the value property: the values for the alert rule resources.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: the values for the alert rule resources.
+ *
+ * @param value the value value to set.
+ * @return the MetricAlertStatusCollectionInner object itself.
+ */
+ public MetricAlertStatusCollectionInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricDefinitionInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricDefinitionInner.java
new file mode 100644
index 0000000000000..6e4f463f4a3ad
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricDefinitionInner.java
@@ -0,0 +1,303 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.AggregationType;
+import com.azure.resourcemanager.monitor.generated.models.MetricAvailability;
+import com.azure.resourcemanager.monitor.generated.models.Unit;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Metric definition class specifies the metadata for a metric. */
+@Fluent
+public final class MetricDefinitionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetricDefinitionInner.class);
+
+ /*
+ * Flag to indicate whether the dimension is required.
+ */
+ @JsonProperty(value = "isDimensionRequired")
+ private Boolean isDimensionRequired;
+
+ /*
+ * the resource identifier of the resource that emitted the metric.
+ */
+ @JsonProperty(value = "resourceId")
+ private String resourceId;
+
+ /*
+ * the namespace the metric belongs to.
+ */
+ @JsonProperty(value = "namespace")
+ private String namespace;
+
+ /*
+ * the name and the display name of the metric, i.e. it is a localizable
+ * string.
+ */
+ @JsonProperty(value = "name")
+ private LocalizableStringInner name;
+
+ /*
+ * the unit of the metric.
+ */
+ @JsonProperty(value = "unit")
+ private Unit unit;
+
+ /*
+ * the primary aggregation type value defining how to use the values for
+ * display.
+ */
+ @JsonProperty(value = "primaryAggregationType")
+ private AggregationType primaryAggregationType;
+
+ /*
+ * the collection of what aggregation types are supported.
+ */
+ @JsonProperty(value = "supportedAggregationTypes")
+ private List supportedAggregationTypes;
+
+ /*
+ * the collection of what aggregation intervals are available to be
+ * queried.
+ */
+ @JsonProperty(value = "metricAvailabilities")
+ private List metricAvailabilities;
+
+ /*
+ * the resource identifier of the metric definition.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * the name and the display name of the dimension, i.e. it is a localizable
+ * string.
+ */
+ @JsonProperty(value = "dimensions")
+ private List dimensions;
+
+ /**
+ * Get the isDimensionRequired property: Flag to indicate whether the dimension is required.
+ *
+ * @return the isDimensionRequired value.
+ */
+ public Boolean isDimensionRequired() {
+ return this.isDimensionRequired;
+ }
+
+ /**
+ * Set the isDimensionRequired property: Flag to indicate whether the dimension is required.
+ *
+ * @param isDimensionRequired the isDimensionRequired value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withIsDimensionRequired(Boolean isDimensionRequired) {
+ this.isDimensionRequired = isDimensionRequired;
+ return this;
+ }
+
+ /**
+ * Get the resourceId property: the resource identifier of the resource that emitted the metric.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the resourceId property: the resource identifier of the resource that emitted the metric.
+ *
+ * @param resourceId the resourceId value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get the namespace property: the namespace the metric belongs to.
+ *
+ * @return the namespace value.
+ */
+ public String namespace() {
+ return this.namespace;
+ }
+
+ /**
+ * Set the namespace property: the namespace the metric belongs to.
+ *
+ * @param namespace the namespace value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withNamespace(String namespace) {
+ this.namespace = namespace;
+ return this;
+ }
+
+ /**
+ * Get the name property: the name and the display name of the metric, i.e. it is a localizable string.
+ *
+ * @return the name value.
+ */
+ public LocalizableStringInner name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: the name and the display name of the metric, i.e. it is a localizable string.
+ *
+ * @param name the name value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withName(LocalizableStringInner name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the unit property: the unit of the metric.
+ *
+ * @return the unit value.
+ */
+ public Unit unit() {
+ return this.unit;
+ }
+
+ /**
+ * Set the unit property: the unit of the metric.
+ *
+ * @param unit the unit value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withUnit(Unit unit) {
+ this.unit = unit;
+ return this;
+ }
+
+ /**
+ * Get the primaryAggregationType property: the primary aggregation type value defining how to use the values for
+ * display.
+ *
+ * @return the primaryAggregationType value.
+ */
+ public AggregationType primaryAggregationType() {
+ return this.primaryAggregationType;
+ }
+
+ /**
+ * Set the primaryAggregationType property: the primary aggregation type value defining how to use the values for
+ * display.
+ *
+ * @param primaryAggregationType the primaryAggregationType value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withPrimaryAggregationType(AggregationType primaryAggregationType) {
+ this.primaryAggregationType = primaryAggregationType;
+ return this;
+ }
+
+ /**
+ * Get the supportedAggregationTypes property: the collection of what aggregation types are supported.
+ *
+ * @return the supportedAggregationTypes value.
+ */
+ public List supportedAggregationTypes() {
+ return this.supportedAggregationTypes;
+ }
+
+ /**
+ * Set the supportedAggregationTypes property: the collection of what aggregation types are supported.
+ *
+ * @param supportedAggregationTypes the supportedAggregationTypes value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withSupportedAggregationTypes(List supportedAggregationTypes) {
+ this.supportedAggregationTypes = supportedAggregationTypes;
+ return this;
+ }
+
+ /**
+ * Get the metricAvailabilities property: the collection of what aggregation intervals are available to be queried.
+ *
+ * @return the metricAvailabilities value.
+ */
+ public List metricAvailabilities() {
+ return this.metricAvailabilities;
+ }
+
+ /**
+ * Set the metricAvailabilities property: the collection of what aggregation intervals are available to be queried.
+ *
+ * @param metricAvailabilities the metricAvailabilities value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withMetricAvailabilities(List metricAvailabilities) {
+ this.metricAvailabilities = metricAvailabilities;
+ return this;
+ }
+
+ /**
+ * Get the id property: the resource identifier of the metric definition.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: the resource identifier of the metric definition.
+ *
+ * @param id the id value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the dimensions property: the name and the display name of the dimension, i.e. it is a localizable string.
+ *
+ * @return the dimensions value.
+ */
+ public List dimensions() {
+ return this.dimensions;
+ }
+
+ /**
+ * Set the dimensions property: the name and the display name of the dimension, i.e. it is a localizable string.
+ *
+ * @param dimensions the dimensions value to set.
+ * @return the MetricDefinitionInner object itself.
+ */
+ public MetricDefinitionInner withDimensions(List dimensions) {
+ this.dimensions = dimensions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (name() != null) {
+ name().validate();
+ }
+ if (metricAvailabilities() != null) {
+ metricAvailabilities().forEach(e -> e.validate());
+ }
+ if (dimensions() != null) {
+ dimensions().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricInner.java
new file mode 100644
index 0000000000000..4cd57649cad10
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricInner.java
@@ -0,0 +1,186 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.TimeSeriesElement;
+import com.azure.resourcemanager.monitor.generated.models.Unit;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The result data of a query. */
+@Fluent
+public final class MetricInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetricInner.class);
+
+ /*
+ * the metric Id.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * the resource type of the metric resource.
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /*
+ * the name and the display name of the metric, i.e. it is localizable
+ * string.
+ */
+ @JsonProperty(value = "name", required = true)
+ private LocalizableStringInner name;
+
+ /*
+ * the unit of the metric.
+ */
+ @JsonProperty(value = "unit", required = true)
+ private Unit unit;
+
+ /*
+ * the time series returned when a data query is performed.
+ */
+ @JsonProperty(value = "timeseries", required = true)
+ private List timeseries;
+
+ /**
+ * Get the id property: the metric Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: the metric Id.
+ *
+ * @param id the id value to set.
+ * @return the MetricInner object itself.
+ */
+ public MetricInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the type property: the resource type of the metric resource.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: the resource type of the metric resource.
+ *
+ * @param type the type value to set.
+ * @return the MetricInner object itself.
+ */
+ public MetricInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the name property: the name and the display name of the metric, i.e. it is localizable string.
+ *
+ * @return the name value.
+ */
+ public LocalizableStringInner name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: the name and the display name of the metric, i.e. it is localizable string.
+ *
+ * @param name the name value to set.
+ * @return the MetricInner object itself.
+ */
+ public MetricInner withName(LocalizableStringInner name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the unit property: the unit of the metric.
+ *
+ * @return the unit value.
+ */
+ public Unit unit() {
+ return this.unit;
+ }
+
+ /**
+ * Set the unit property: the unit of the metric.
+ *
+ * @param unit the unit value to set.
+ * @return the MetricInner object itself.
+ */
+ public MetricInner withUnit(Unit unit) {
+ this.unit = unit;
+ return this;
+ }
+
+ /**
+ * Get the timeseries property: the time series returned when a data query is performed.
+ *
+ * @return the timeseries value.
+ */
+ public List timeseries() {
+ return this.timeseries;
+ }
+
+ /**
+ * Set the timeseries property: the time series returned when a data query is performed.
+ *
+ * @param timeseries the timeseries value to set.
+ * @return the MetricInner object itself.
+ */
+ public MetricInner withTimeseries(List timeseries) {
+ this.timeseries = timeseries;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (id() == null) {
+ throw logger
+ .logExceptionAsError(new IllegalArgumentException("Missing required property id in model MetricInner"));
+ }
+ if (type() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property type in model MetricInner"));
+ }
+ if (name() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property name in model MetricInner"));
+ } else {
+ name().validate();
+ }
+ if (unit() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property unit in model MetricInner"));
+ }
+ if (timeseries() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property timeseries in model MetricInner"));
+ } else {
+ timeseries().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricNamespaceInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricNamespaceInner.java
new file mode 100644
index 0000000000000..758267e4effd6
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/MetricNamespaceInner.java
@@ -0,0 +1,132 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.MetricNamespaceName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Metric namespace class specifies the metadata for a metric namespace. */
+@Fluent
+public final class MetricNamespaceInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetricNamespaceInner.class);
+
+ /*
+ * The ID of the metricNamespace.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * The type of the namespace.
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /*
+ * The name of the namespace.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Properties which include the fully qualified namespace name.
+ */
+ @JsonProperty(value = "properties")
+ private MetricNamespaceName properties;
+
+ /**
+ * Get the id property: The ID of the metricNamespace.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The ID of the metricNamespace.
+ *
+ * @param id the id value to set.
+ * @return the MetricNamespaceInner object itself.
+ */
+ public MetricNamespaceInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the type property: The type of the namespace.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: The type of the namespace.
+ *
+ * @param type the type value to set.
+ * @return the MetricNamespaceInner object itself.
+ */
+ public MetricNamespaceInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the name property: The name of the namespace.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The name of the namespace.
+ *
+ * @param name the name value to set.
+ * @return the MetricNamespaceInner object itself.
+ */
+ public MetricNamespaceInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the properties property: Properties which include the fully qualified namespace name.
+ *
+ * @return the properties value.
+ */
+ public MetricNamespaceName properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties which include the fully qualified namespace name.
+ *
+ * @param properties the properties value to set.
+ * @return the MetricNamespaceInner object itself.
+ */
+ public MetricNamespaceInner withProperties(MetricNamespaceName properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/OperationListResultInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/OperationListResultInner.java
new file mode 100644
index 0000000000000..961e1145841bc
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/OperationListResultInner.java
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.Operation;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * Result of the request to list Microsoft.Insights operations. It contains a list of operations and a URL link to get
+ * the next set of results.
+ */
+@Fluent
+public final class OperationListResultInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationListResultInner.class);
+
+ /*
+ * List of operations supported by the Microsoft.Insights provider.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /*
+ * URL to get the next set of operation list results if there are any.
+ */
+ @JsonProperty(value = "nextLink")
+ private String nextLink;
+
+ /**
+ * Get the value property: List of operations supported by the Microsoft.Insights provider.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: List of operations supported by the Microsoft.Insights provider.
+ *
+ * @param value the value value to set.
+ * @return the OperationListResultInner object itself.
+ */
+ public OperationListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: URL to get the next set of operation list results if there are any.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Set the nextLink property: URL to get the next set of operation list results if there are any.
+ *
+ * @param nextLink the nextLink value to set.
+ * @return the OperationListResultInner object itself.
+ */
+ public OperationListResultInner withNextLink(String nextLink) {
+ this.nextLink = nextLink;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ResponseInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ResponseInner.java
new file mode 100644
index 0000000000000..794eb5669a911
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/ResponseInner.java
@@ -0,0 +1,207 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+import java.util.List;
+
+/** The response to a metrics query. */
+@Fluent
+public final class ResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ResponseInner.class);
+
+ /*
+ * The integer value representing the cost of the query, for data case.
+ */
+ @JsonProperty(value = "cost")
+ private Integer cost;
+
+ /*
+ * The timespan for which the data was retrieved. Its value consists of two
+ * datetimes concatenated, separated by '/'. This may be adjusted in the
+ * future and returned back from what was originally requested.
+ */
+ @JsonProperty(value = "timespan", required = true)
+ private String timespan;
+
+ /*
+ * The interval (window size) for which the metric data was returned in.
+ * This may be adjusted in the future and returned back from what was
+ * originally requested. This is not present if a metadata request was
+ * made.
+ */
+ @JsonProperty(value = "interval")
+ private Duration interval;
+
+ /*
+ * The namespace of the metrics been queried
+ */
+ @JsonProperty(value = "namespace")
+ private String namespace;
+
+ /*
+ * The region of the resource been queried for metrics.
+ */
+ @JsonProperty(value = "resourceregion")
+ private String resourceRegion;
+
+ /*
+ * the value of the collection.
+ */
+ @JsonProperty(value = "value", required = true)
+ private List value;
+
+ /**
+ * Get the cost property: The integer value representing the cost of the query, for data case.
+ *
+ * @return the cost value.
+ */
+ public Integer cost() {
+ return this.cost;
+ }
+
+ /**
+ * Set the cost property: The integer value representing the cost of the query, for data case.
+ *
+ * @param cost the cost value to set.
+ * @return the ResponseInner object itself.
+ */
+ public ResponseInner withCost(Integer cost) {
+ this.cost = cost;
+ return this;
+ }
+
+ /**
+ * Get the timespan property: The timespan for which the data was retrieved. Its value consists of two datetimes
+ * concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally
+ * requested.
+ *
+ * @return the timespan value.
+ */
+ public String timespan() {
+ return this.timespan;
+ }
+
+ /**
+ * Set the timespan property: The timespan for which the data was retrieved. Its value consists of two datetimes
+ * concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally
+ * requested.
+ *
+ * @param timespan the timespan value to set.
+ * @return the ResponseInner object itself.
+ */
+ public ResponseInner withTimespan(String timespan) {
+ this.timespan = timespan;
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval (window size) for which the metric data was returned in. This may be
+ * adjusted in the future and returned back from what was originally requested. This is not present if a metadata
+ * request was made.
+ *
+ * @return the interval value.
+ */
+ public Duration interval() {
+ return this.interval;
+ }
+
+ /**
+ * Set the interval property: The interval (window size) for which the metric data was returned in. This may be
+ * adjusted in the future and returned back from what was originally requested. This is not present if a metadata
+ * request was made.
+ *
+ * @param interval the interval value to set.
+ * @return the ResponseInner object itself.
+ */
+ public ResponseInner withInterval(Duration interval) {
+ this.interval = interval;
+ return this;
+ }
+
+ /**
+ * Get the namespace property: The namespace of the metrics been queried.
+ *
+ * @return the namespace value.
+ */
+ public String namespace() {
+ return this.namespace;
+ }
+
+ /**
+ * Set the namespace property: The namespace of the metrics been queried.
+ *
+ * @param namespace the namespace value to set.
+ * @return the ResponseInner object itself.
+ */
+ public ResponseInner withNamespace(String namespace) {
+ this.namespace = namespace;
+ return this;
+ }
+
+ /**
+ * Get the resourceRegion property: The region of the resource been queried for metrics.
+ *
+ * @return the resourceRegion value.
+ */
+ public String resourceRegion() {
+ return this.resourceRegion;
+ }
+
+ /**
+ * Set the resourceRegion property: The region of the resource been queried for metrics.
+ *
+ * @param resourceRegion the resourceRegion value to set.
+ * @return the ResponseInner object itself.
+ */
+ public ResponseInner withResourceRegion(String resourceRegion) {
+ this.resourceRegion = resourceRegion;
+ return this;
+ }
+
+ /**
+ * Get the value property: the value of the collection.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: the value of the collection.
+ *
+ * @param value the value value to set.
+ * @return the ResponseInner object itself.
+ */
+ public ResponseInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (timespan() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property timespan in model ResponseInner"));
+ }
+ if (value() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property value in model ResponseInner"));
+ } else {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/SingleMetricBaselineInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/SingleMetricBaselineInner.java
new file mode 100644
index 0000000000000..e43f1d21517f0
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/SingleMetricBaselineInner.java
@@ -0,0 +1,259 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.TimeSeriesBaseline;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+import java.util.List;
+
+/** The baseline results of a single metric. */
+@JsonFlatten
+@Fluent
+public class SingleMetricBaselineInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SingleMetricBaselineInner.class);
+
+ /*
+ * The metric baseline Id.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /*
+ * The resource type of the metric baseline resource.
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /*
+ * The name of the metric for which the baselines were retrieved.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /*
+ * The timespan for which the data was retrieved. Its value consists of two
+ * datetimes concatenated, separated by '/'. This may be adjusted in the
+ * future and returned back from what was originally requested.
+ */
+ @JsonProperty(value = "properties.timespan", required = true)
+ private String timespan;
+
+ /*
+ * The interval (window size) for which the metric data was returned in.
+ * This may be adjusted in the future and returned back from what was
+ * originally requested. This is not present if a metadata request was
+ * made.
+ */
+ @JsonProperty(value = "properties.interval", required = true)
+ private Duration interval;
+
+ /*
+ * The namespace of the metrics been queried.
+ */
+ @JsonProperty(value = "properties.namespace")
+ private String namespace;
+
+ /*
+ * The baseline for each time series that was queried.
+ */
+ @JsonProperty(value = "properties.baselines", required = true)
+ private List baselines;
+
+ /**
+ * Get the id property: The metric baseline Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The metric baseline Id.
+ *
+ * @param id the id value to set.
+ * @return the SingleMetricBaselineInner object itself.
+ */
+ public SingleMetricBaselineInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the type property: The resource type of the metric baseline resource.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: The resource type of the metric baseline resource.
+ *
+ * @param type the type value to set.
+ * @return the SingleMetricBaselineInner object itself.
+ */
+ public SingleMetricBaselineInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the name property: The name of the metric for which the baselines were retrieved.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The name of the metric for which the baselines were retrieved.
+ *
+ * @param name the name value to set.
+ * @return the SingleMetricBaselineInner object itself.
+ */
+ public SingleMetricBaselineInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the timespan property: The timespan for which the data was retrieved. Its value consists of two datetimes
+ * concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally
+ * requested.
+ *
+ * @return the timespan value.
+ */
+ public String timespan() {
+ return this.timespan;
+ }
+
+ /**
+ * Set the timespan property: The timespan for which the data was retrieved. Its value consists of two datetimes
+ * concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally
+ * requested.
+ *
+ * @param timespan the timespan value to set.
+ * @return the SingleMetricBaselineInner object itself.
+ */
+ public SingleMetricBaselineInner withTimespan(String timespan) {
+ this.timespan = timespan;
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval (window size) for which the metric data was returned in. This may be
+ * adjusted in the future and returned back from what was originally requested. This is not present if a metadata
+ * request was made.
+ *
+ * @return the interval value.
+ */
+ public Duration interval() {
+ return this.interval;
+ }
+
+ /**
+ * Set the interval property: The interval (window size) for which the metric data was returned in. This may be
+ * adjusted in the future and returned back from what was originally requested. This is not present if a metadata
+ * request was made.
+ *
+ * @param interval the interval value to set.
+ * @return the SingleMetricBaselineInner object itself.
+ */
+ public SingleMetricBaselineInner withInterval(Duration interval) {
+ this.interval = interval;
+ return this;
+ }
+
+ /**
+ * Get the namespace property: The namespace of the metrics been queried.
+ *
+ * @return the namespace value.
+ */
+ public String namespace() {
+ return this.namespace;
+ }
+
+ /**
+ * Set the namespace property: The namespace of the metrics been queried.
+ *
+ * @param namespace the namespace value to set.
+ * @return the SingleMetricBaselineInner object itself.
+ */
+ public SingleMetricBaselineInner withNamespace(String namespace) {
+ this.namespace = namespace;
+ return this;
+ }
+
+ /**
+ * Get the baselines property: The baseline for each time series that was queried.
+ *
+ * @return the baselines value.
+ */
+ public List baselines() {
+ return this.baselines;
+ }
+
+ /**
+ * Set the baselines property: The baseline for each time series that was queried.
+ *
+ * @param baselines the baselines value to set.
+ * @return the SingleMetricBaselineInner object itself.
+ */
+ public SingleMetricBaselineInner withBaselines(List baselines) {
+ this.baselines = baselines;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (id() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property id in model SingleMetricBaselineInner"));
+ }
+ if (type() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property type in model SingleMetricBaselineInner"));
+ }
+ if (name() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property name in model SingleMetricBaselineInner"));
+ }
+ if (timespan() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property timespan in model SingleMetricBaselineInner"));
+ }
+ if (interval() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property interval in model SingleMetricBaselineInner"));
+ }
+ if (baselines() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property baselines in model SingleMetricBaselineInner"));
+ } else {
+ baselines().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/VMInsightsOnboardingStatusInner.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/VMInsightsOnboardingStatusInner.java
new file mode 100644
index 0000000000000..3874f4cafb7ff
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/VMInsightsOnboardingStatusInner.java
@@ -0,0 +1,152 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.models.DataContainer;
+import com.azure.resourcemanager.monitor.generated.models.DataStatus;
+import com.azure.resourcemanager.monitor.generated.models.OnboardingStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** VM Insights onboarding status for a resource. */
+@JsonFlatten
+@Fluent
+public class VMInsightsOnboardingStatusInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(VMInsightsOnboardingStatusInner.class);
+
+ /*
+ * Azure Resource Manager identifier of the resource whose onboarding
+ * status is being represented.
+ */
+ @JsonProperty(value = "properties.resourceId")
+ private String resourceId;
+
+ /*
+ * The onboarding status for the resource. Note that, a higher level scope,
+ * e.g., resource group or subscription, is considered onboarded if at
+ * least one resource under it is onboarded.
+ */
+ @JsonProperty(value = "properties.onboardingStatus")
+ private OnboardingStatus onboardingStatus;
+
+ /*
+ * The status of VM Insights data from the resource. When reported as
+ * `present` the data array will contain information about the data
+ * containers to which data for the specified resource is being routed.
+ */
+ @JsonProperty(value = "properties.dataStatus")
+ private DataStatus dataStatus;
+
+ /*
+ * Containers that currently store VM Insights data for the specified
+ * resource.
+ */
+ @JsonProperty(value = "properties.data")
+ private List data;
+
+ /**
+ * Get the resourceId property: Azure Resource Manager identifier of the resource whose onboarding status is being
+ * represented.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the resourceId property: Azure Resource Manager identifier of the resource whose onboarding status is being
+ * represented.
+ *
+ * @param resourceId the resourceId value to set.
+ * @return the VMInsightsOnboardingStatusInner object itself.
+ */
+ public VMInsightsOnboardingStatusInner withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get the onboardingStatus property: The onboarding status for the resource. Note that, a higher level scope, e.g.,
+ * resource group or subscription, is considered onboarded if at least one resource under it is onboarded.
+ *
+ * @return the onboardingStatus value.
+ */
+ public OnboardingStatus onboardingStatus() {
+ return this.onboardingStatus;
+ }
+
+ /**
+ * Set the onboardingStatus property: The onboarding status for the resource. Note that, a higher level scope, e.g.,
+ * resource group or subscription, is considered onboarded if at least one resource under it is onboarded.
+ *
+ * @param onboardingStatus the onboardingStatus value to set.
+ * @return the VMInsightsOnboardingStatusInner object itself.
+ */
+ public VMInsightsOnboardingStatusInner withOnboardingStatus(OnboardingStatus onboardingStatus) {
+ this.onboardingStatus = onboardingStatus;
+ return this;
+ }
+
+ /**
+ * Get the dataStatus property: The status of VM Insights data from the resource. When reported as `present` the
+ * data array will contain information about the data containers to which data for the specified resource is being
+ * routed.
+ *
+ * @return the dataStatus value.
+ */
+ public DataStatus dataStatus() {
+ return this.dataStatus;
+ }
+
+ /**
+ * Set the dataStatus property: The status of VM Insights data from the resource. When reported as `present` the
+ * data array will contain information about the data containers to which data for the specified resource is being
+ * routed.
+ *
+ * @param dataStatus the dataStatus value to set.
+ * @return the VMInsightsOnboardingStatusInner object itself.
+ */
+ public VMInsightsOnboardingStatusInner withDataStatus(DataStatus dataStatus) {
+ this.dataStatus = dataStatus;
+ return this;
+ }
+
+ /**
+ * Get the data property: Containers that currently store VM Insights data for the specified resource.
+ *
+ * @return the data value.
+ */
+ public List data() {
+ return this.data;
+ }
+
+ /**
+ * Set the data property: Containers that currently store VM Insights data for the specified resource.
+ *
+ * @param data the data value to set.
+ * @return the VMInsightsOnboardingStatusInner object itself.
+ */
+ public VMInsightsOnboardingStatusInner withData(List data) {
+ this.data = data;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (data() != null) {
+ data().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/package-info.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/package-info.java
new file mode 100644
index 0000000000000..f47cfdde9d782
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/models/package-info.java
@@ -0,0 +1,6 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/** Package containing the inner data models for MonitorClient. Monitor Management Client. */
+package com.azure.resourcemanager.monitor.generated.fluent.models;
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/package-info.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/package-info.java
new file mode 100644
index 0000000000000..42ea0995be6e7
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/fluent/package-info.java
@@ -0,0 +1,6 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/** Package containing the service clients for MonitorClient. Monitor Management Client. */
+package com.azure.resourcemanager.monitor.generated.fluent;
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/implementation/ActionGroupResourceImpl.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/implementation/ActionGroupResourceImpl.java
new file mode 100644
index 0000000000000..b498684b5ba32
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/implementation/ActionGroupResourceImpl.java
@@ -0,0 +1,350 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.monitor.generated.MonitorManager;
+import com.azure.resourcemanager.monitor.generated.fluent.models.ActionGroupResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.ActionGroupPatchBody;
+import com.azure.resourcemanager.monitor.generated.models.ActionGroupResource;
+import com.azure.resourcemanager.monitor.generated.models.ArmRoleReceiver;
+import com.azure.resourcemanager.monitor.generated.models.AutomationRunbookReceiver;
+import com.azure.resourcemanager.monitor.generated.models.AzureAppPushReceiver;
+import com.azure.resourcemanager.monitor.generated.models.AzureFunctionReceiver;
+import com.azure.resourcemanager.monitor.generated.models.EmailReceiver;
+import com.azure.resourcemanager.monitor.generated.models.ItsmReceiver;
+import com.azure.resourcemanager.monitor.generated.models.LogicAppReceiver;
+import com.azure.resourcemanager.monitor.generated.models.SmsReceiver;
+import com.azure.resourcemanager.monitor.generated.models.VoiceReceiver;
+import com.azure.resourcemanager.monitor.generated.models.WebhookReceiver;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class ActionGroupResourceImpl
+ implements ActionGroupResource, ActionGroupResource.Definition, ActionGroupResource.Update {
+ private ActionGroupResourceInner innerObject;
+
+ private final MonitorManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public String groupShortName() {
+ return this.innerModel().groupShortName();
+ }
+
+ public Boolean enabled() {
+ return this.innerModel().enabled();
+ }
+
+ public List emailReceivers() {
+ List inner = this.innerModel().emailReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List smsReceivers() {
+ List inner = this.innerModel().smsReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List webhookReceivers() {
+ List inner = this.innerModel().webhookReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List itsmReceivers() {
+ List inner = this.innerModel().itsmReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List azureAppPushReceivers() {
+ List inner = this.innerModel().azureAppPushReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List automationRunbookReceivers() {
+ List inner = this.innerModel().automationRunbookReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List voiceReceivers() {
+ List inner = this.innerModel().voiceReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List logicAppReceivers() {
+ List inner = this.innerModel().logicAppReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List azureFunctionReceivers() {
+ List inner = this.innerModel().azureFunctionReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List armRoleReceivers() {
+ List inner = this.innerModel().armRoleReceivers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public ActionGroupResourceInner innerModel() {
+ return this.innerObject;
+ }
+
+ private MonitorManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String actionGroupName;
+
+ private ActionGroupPatchBody updateActionGroupPatch;
+
+ public ActionGroupResourceImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public ActionGroupResource create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getActionGroups()
+ .createOrUpdateWithResponse(resourceGroupName, actionGroupName, this.innerModel(), Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ActionGroupResource create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getActionGroups()
+ .createOrUpdateWithResponse(resourceGroupName, actionGroupName, this.innerModel(), context)
+ .getValue();
+ return this;
+ }
+
+ ActionGroupResourceImpl(String name, MonitorManager serviceManager) {
+ this.innerObject = new ActionGroupResourceInner();
+ this.serviceManager = serviceManager;
+ this.actionGroupName = name;
+ }
+
+ public ActionGroupResourceImpl update() {
+ this.updateActionGroupPatch = new ActionGroupPatchBody();
+ return this;
+ }
+
+ public ActionGroupResource apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getActionGroups()
+ .updateWithResponse(resourceGroupName, actionGroupName, updateActionGroupPatch, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ActionGroupResource apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getActionGroups()
+ .updateWithResponse(resourceGroupName, actionGroupName, updateActionGroupPatch, context)
+ .getValue();
+ return this;
+ }
+
+ ActionGroupResourceImpl(ActionGroupResourceInner innerObject, MonitorManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.actionGroupName = Utils.getValueFromIdByName(innerObject.id(), "actionGroups");
+ }
+
+ public ActionGroupResource refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getActionGroups()
+ .getByResourceGroupWithResponse(resourceGroupName, actionGroupName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ActionGroupResource refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getActionGroups()
+ .getByResourceGroupWithResponse(resourceGroupName, actionGroupName, context)
+ .getValue();
+ return this;
+ }
+
+ public ActionGroupResourceImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public ActionGroupResourceImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateActionGroupPatch.withTags(tags);
+ return this;
+ }
+ }
+
+ public ActionGroupResourceImpl withGroupShortName(String groupShortName) {
+ this.innerModel().withGroupShortName(groupShortName);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withEnabled(Boolean enabled) {
+ if (isInCreateMode()) {
+ this.innerModel().withEnabled(enabled);
+ return this;
+ } else {
+ this.updateActionGroupPatch.withEnabled(enabled);
+ return this;
+ }
+ }
+
+ public ActionGroupResourceImpl withEmailReceivers(List emailReceivers) {
+ this.innerModel().withEmailReceivers(emailReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withSmsReceivers(List smsReceivers) {
+ this.innerModel().withSmsReceivers(smsReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withWebhookReceivers(List webhookReceivers) {
+ this.innerModel().withWebhookReceivers(webhookReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withItsmReceivers(List itsmReceivers) {
+ this.innerModel().withItsmReceivers(itsmReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withAzureAppPushReceivers(List azureAppPushReceivers) {
+ this.innerModel().withAzureAppPushReceivers(azureAppPushReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withAutomationRunbookReceivers(
+ List automationRunbookReceivers) {
+ this.innerModel().withAutomationRunbookReceivers(automationRunbookReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withVoiceReceivers(List voiceReceivers) {
+ this.innerModel().withVoiceReceivers(voiceReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withLogicAppReceivers(List logicAppReceivers) {
+ this.innerModel().withLogicAppReceivers(logicAppReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withAzureFunctionReceivers(List azureFunctionReceivers) {
+ this.innerModel().withAzureFunctionReceivers(azureFunctionReceivers);
+ return this;
+ }
+
+ public ActionGroupResourceImpl withArmRoleReceivers(List armRoleReceivers) {
+ this.innerModel().withArmRoleReceivers(armRoleReceivers);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/implementation/ActionGroupsClientImpl.java b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/implementation/ActionGroupsClientImpl.java
new file mode 100644
index 0000000000000..2b5e2bf3f46d1
--- /dev/null
+++ b/sdk/monitor/azure-resourcemanager-monitor-generated/src/main/java/com/azure/resourcemanager/monitor/generated/implementation/ActionGroupsClientImpl.java
@@ -0,0 +1,1254 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.monitor.generated.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.monitor.generated.fluent.ActionGroupsClient;
+import com.azure.resourcemanager.monitor.generated.fluent.models.ActionGroupResourceInner;
+import com.azure.resourcemanager.monitor.generated.models.ActionGroupList;
+import com.azure.resourcemanager.monitor.generated.models.ActionGroupPatchBody;
+import com.azure.resourcemanager.monitor.generated.models.EnableRequest;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ActionGroupsClient. */
+public final class ActionGroupsClientImpl implements ActionGroupsClient {
+ private final ClientLogger logger = new ClientLogger(ActionGroupsClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final ActionGroupsService service;
+
+ /** The service client containing this operation class. */
+ private final MonitorClientImpl client;
+
+ /**
+ * Initializes an instance of ActionGroupsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ActionGroupsClientImpl(MonitorClientImpl client) {
+ this.service =
+ RestProxy.create(ActionGroupsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for MonitorClientActionGroups to be used by the proxy service to perform
+ * REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "MonitorClientActionG")
+ private interface ActionGroupsService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights"
+ + "/actionGroups/{actionGroupName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> createOrUpdate(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("actionGroupName") String actionGroupName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") ActionGroupResourceInner actionGroup,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights"
+ + "/actionGroups/{actionGroupName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("actionGroupName") String actionGroupName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights"
+ + "/actionGroups/{actionGroupName}")
+ @ExpectedResponses({200, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("actionGroupName") String actionGroupName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights"
+ + "/actionGroups/{actionGroupName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> update(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("actionGroupName") String actionGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") ActionGroupPatchBody actionGroupPatch,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights"
+ + "/actionGroups")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights"
+ + "/actionGroups/{actionGroupName}/subscribe")
+ @ExpectedResponses({200, 409})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> enableReceiver(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("actionGroupName") String actionGroupName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") EnableRequest enableRequest,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Create a new action group or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroup The action group to create or use for the update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createOrUpdateWithResponseAsync(
+ String resourceGroupName, String actionGroupName, ActionGroupResourceInner actionGroup) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (actionGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter actionGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (actionGroup == null) {
+ return Mono.error(new IllegalArgumentException("Parameter actionGroup is required and cannot be null."));
+ } else {
+ actionGroup.validate();
+ }
+ final String apiVersion = "2019-06-01";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ actionGroupName,
+ this.client.getSubscriptionId(),
+ apiVersion,
+ actionGroup,
+ accept,
+ context))
+ .subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
+ }
+
+ /**
+ * Create a new action group or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroup The action group to create or use for the update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createOrUpdateWithResponseAsync(
+ String resourceGroupName, String actionGroupName, ActionGroupResourceInner actionGroup, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (actionGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter actionGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (actionGroup == null) {
+ return Mono.error(new IllegalArgumentException("Parameter actionGroup is required and cannot be null."));
+ } else {
+ actionGroup.validate();
+ }
+ final String apiVersion = "2019-06-01";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ actionGroupName,
+ this.client.getSubscriptionId(),
+ apiVersion,
+ actionGroup,
+ accept,
+ context);
+ }
+
+ /**
+ * Create a new action group or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroup The action group to create or use for the update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String resourceGroupName, String actionGroupName, ActionGroupResourceInner actionGroup) {
+ return createOrUpdateWithResponseAsync(resourceGroupName, actionGroupName, actionGroup)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Create a new action group or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroup The action group to create or use for the update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ActionGroupResourceInner createOrUpdate(
+ String resourceGroupName, String actionGroupName, ActionGroupResourceInner actionGroup) {
+ return createOrUpdateAsync(resourceGroupName, actionGroupName, actionGroup).block();
+ }
+
+ /**
+ * Create a new action group or update an existing one.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param actionGroup The action group to create or use for the update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createOrUpdateWithResponse(
+ String resourceGroupName, String actionGroupName, ActionGroupResourceInner actionGroup, Context context) {
+ return createOrUpdateWithResponseAsync(resourceGroupName, actionGroupName, actionGroup, context).block();
+ }
+
+ /**
+ * Get an action group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String actionGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (actionGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter actionGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2019-06-01";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ actionGroupName,
+ this.client.getSubscriptionId(),
+ apiVersion,
+ accept,
+ context))
+ .subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
+ }
+
+ /**
+ * Get an action group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param actionGroupName The name of the action group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an action group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono