From 1c985702b64d1c5c3e31dd31cb5b48d2ca2ede56 Mon Sep 17 00:00:00 2001
From: iscai-msft <43154838+iscai-msft@users.noreply.github.com>
Date: Fri, 28 Jun 2019 11:03:37 -0700
Subject: [PATCH] Monitor (#4108)
* generated v2015_07_01 of monitor
* generated v2016_03_01 of monitor
* generated v2017_03_01_preview of monitor
* generated v2017_04_01 of monitor
* generated v2018_03_01 of monitor
* generated v2018_04_16 of monitor
* generated v2018_09_01 of monitor
* formatted pom.xml
* Update pom.xml
---
monitor/resource-manager/v2015_07_01/pom.xml | 133 +++
.../monitor/v2015_07_01/ErrorResponse.java | 69 ++
.../v2015_07_01/ErrorResponseException.java | 44 +
.../monitor/v2015_07_01/LogSettings.java | 98 +++
.../monitor/v2015_07_01/MetricSettings.java | 97 +++
.../monitor/v2015_07_01/RetentionPolicy.java | 70 ++
.../ServiceDiagnosticSettings.java | 39 +
.../ServiceDiagnosticSettingsResource.java | 72 ++
.../implementation/IdParsingUtils.java | 57 ++
.../implementation/MonitorClientImpl.java | 173 ++++
.../implementation/MonitorManager.java | 96 +++
.../ServiceDiagnosticSettingsImpl.java | 54 ++
.../ServiceDiagnosticSettingsInner.java | 228 +++++
...ServiceDiagnosticSettingsResourceImpl.java | 80 ++
...erviceDiagnosticSettingsResourceInner.java | 160 ++++
.../implementation/package-info.java | 11 +
.../monitor/v2015_07_01/package-info.java | 11 +
monitor/resource-manager/v2016_03_01/pom.xml | 133 +++
.../monitor/v2016_03_01/AggregationType.java | 65 ++
.../v2016_03_01/AlertRuleIncidents.java | 40 +
.../v2016_03_01/AlertRuleResource.java | 184 ++++
.../v2016_03_01/AlertRuleResourcePatch.java | 195 +++++
.../monitor/v2016_03_01/AlertRules.java | 25 +
.../v2016_03_01/ConditionOperator.java | 59 ++
.../monitor/v2016_03_01/ErrorResponse.java | 69 ++
.../v2016_03_01/ErrorResponseException.java | 44 +
.../monitor/v2016_03_01/Incident.java | 46 +
.../v2016_03_01/LocalizableString.java | 69 ++
.../LocationThresholdRuleCondition.java | 76 ++
.../v2016_03_01/LogProfileResource.java | 232 ++++++
.../v2016_03_01/LogProfileResourcePatch.java | 185 ++++
.../monitor/v2016_03_01/LogProfiles.java | 40 +
.../ManagementEventAggregationCondition.java | 99 +++
.../ManagementEventRuleCondition.java | 50 ++
.../v2016_03_01/MetricAvailability.java | 73 ++
.../monitor/v2016_03_01/MetricDefinition.java | 51 ++
.../v2016_03_01/MetricDefinitions.java | 28 +
.../monitor/v2016_03_01/RetentionPolicy.java | 70 ++
.../monitor/v2016_03_01/RuleAction.java | 26 +
.../monitor/v2016_03_01/RuleCondition.java | 54 ++
.../monitor/v2016_03_01/RuleDataSource.java | 53 ++
.../monitor/v2016_03_01/RuleEmailAction.java | 77 ++
.../RuleManagementEventClaimsDataSource.java | 43 +
.../RuleManagementEventDataSource.java | 258 ++++++
.../v2016_03_01/RuleMetricDataSource.java | 48 ++
.../v2016_03_01/RuleWebhookAction.java | 77 ++
.../v2016_03_01/ThresholdRuleCondition.java | 133 +++
.../v2016_03_01/TimeAggregationOperator.java | 62 ++
.../management/monitor/v2016_03_01/Unit.java | 68 ++
.../AlertRuleIncidentsImpl.java | 65 ++
.../AlertRuleIncidentsInner.java | 250 ++++++
.../implementation/AlertRuleResourceImpl.java | 139 ++++
.../AlertRuleResourceInner.java | 171 ++++
.../implementation/AlertRulesImpl.java | 138 +++
.../implementation/AlertRulesInner.java | 624 ++++++++++++++
.../implementation/IdParsingUtils.java | 57 ++
.../implementation/IncidentImpl.java | 59 ++
.../implementation/IncidentInner.java | 94 +++
.../LogProfileResourceImpl.java | 198 +++++
.../LogProfileResourceInner.java | 160 ++++
.../implementation/LogProfilesImpl.java | 96 +++
.../implementation/LogProfilesInner.java | 498 +++++++++++
.../implementation/MetricDefinitionImpl.java | 61 ++
.../implementation/MetricDefinitionInner.java | 184 ++++
.../implementation/MetricDefinitionsImpl.java | 49 ++
.../MetricDefinitionsInner.java | 221 +++++
.../MonitorManagementClientImpl.java | 238 ++++++
.../implementation/MonitorManager.java | 135 +++
.../v2016_03_01/implementation/PageImpl.java | 75 ++
.../implementation/package-info.java | 11 +
.../monitor/v2016_03_01/package-info.java | 11 +
.../v2017_03_01_preview/pom.xml | 133 +++
.../ActivityLogAlertActionGroup.java | 71 ++
.../ActivityLogAlertActionList.java | 44 +
.../ActivityLogAlertAllOfCondition.java | 45 +
.../ActivityLogAlertLeafCondition.java | 75 ++
.../ActivityLogAlertResource.java | 166 ++++
.../ActivityLogAlertResourcePatch.java | 47 ++
.../ActivityLogAlerts.java | 25 +
.../v2017_03_01_preview/ErrorResponse.java | 69 ++
.../ErrorResponseException.java | 44 +
.../ActivityLogAlertResourceImpl.java | 129 +++
.../ActivityLogAlertResourceInner.java | 156 ++++
.../implementation/ActivityLogAlertsImpl.java | 138 +++
.../ActivityLogAlertsInner.java | 622 ++++++++++++++
.../implementation/IdParsingUtils.java | 57 ++
.../MonitorManagementClientImpl.java | 196 +++++
.../implementation/MonitorManager.java | 99 +++
.../implementation/PageImpl.java | 75 ++
.../implementation/package-info.java | 11 +
.../v2017_03_01_preview/package-info.java | 11 +
monitor/resource-manager/v2017_04_01/pom.xml | 133 +++
.../v2017_04_01/ActionGroupPatchBody.java | 73 ++
.../v2017_04_01/ActionGroupResource.java | 217 +++++
.../monitor/v2017_04_01/ActionGroups.java | 37 +
.../ActivityLogAlertActionGroup.java | 71 ++
.../ActivityLogAlertActionList.java | 44 +
.../ActivityLogAlertAllOfCondition.java | 45 +
.../ActivityLogAlertLeafCondition.java | 75 ++
.../ActivityLogAlertPatchBody.java | 73 ++
.../v2017_04_01/ActivityLogAlertResource.java | 166 ++++
.../v2017_04_01/ActivityLogAlerts.java | 25 +
.../AutomationRunbookReceiver.java | 174 ++++
.../v2017_04_01/AzureAppPushReceiver.java | 70 ++
.../monitor/v2017_04_01/EmailReceiver.java | 86 ++
.../monitor/v2017_04_01/EnableRequest.java | 43 +
.../monitor/v2017_04_01/ErrorResponse.java | 69 ++
.../v2017_04_01/ErrorResponseException.java | 44 +
.../monitor/v2017_04_01/ItsmReceiver.java | 151 ++++
.../monitor/v2017_04_01/ReceiverStatus.java | 56 ++
.../monitor/v2017_04_01/SmsReceiver.java | 112 +++
.../monitor/v2017_04_01/WebhookReceiver.java | 70 ++
.../ActionGroupResourceImpl.java | 168 ++++
.../ActionGroupResourceInner.java | 237 ++++++
.../implementation/ActionGroupsImpl.java | 144 ++++
.../implementation/ActionGroupsInner.java | 723 ++++++++++++++++
.../ActivityLogAlertResourceImpl.java | 129 +++
.../ActivityLogAlertResourceInner.java | 156 ++++
.../implementation/ActivityLogAlertsImpl.java | 138 +++
.../ActivityLogAlertsInner.java | 622 ++++++++++++++
.../implementation/IdParsingUtils.java | 57 ++
.../MonitorManagementClientImpl.java | 210 +++++
.../implementation/MonitorManager.java | 111 +++
.../v2017_04_01/implementation/PageImpl.java | 75 ++
.../implementation/package-info.java | 11 +
.../monitor/v2017_04_01/package-info.java | 11 +
monitor/resource-manager/v2018_03_01/pom.xml | 133 +++
.../v2018_03_01/ActionGroupPatchBody.java | 73 ++
.../v2018_03_01/ActionGroupResource.java | 268 ++++++
.../monitor/v2018_03_01/ActionGroups.java | 37 +
.../AutomationRunbookReceiver.java | 174 ++++
.../v2018_03_01/AzureAppPushReceiver.java | 70 ++
.../v2018_03_01/AzureFunctionReceiver.java | 122 +++
.../v2018_03_01/DynamicMetricCriteria.java | 130 +++
.../DynamicThresholdFailingPeriods.java | 73 ++
.../monitor/v2018_03_01/EmailReceiver.java | 86 ++
.../monitor/v2018_03_01/EnableRequest.java | 43 +
.../monitor/v2018_03_01/ErrorResponse.java | 69 ++
.../v2018_03_01/ErrorResponseException.java | 44 +
.../monitor/v2018_03_01/ItsmReceiver.java | 151 ++++
.../monitor/v2018_03_01/LogicAppReceiver.java | 96 +++
.../v2018_03_01/MetricAlertAction.java | 70 ++
.../v2018_03_01/MetricAlertCriteria.java | 53 ++
...ultipleResourceMultipleMetricCriteria.java | 49 ++
.../v2018_03_01/MetricAlertResource.java | 323 +++++++
.../v2018_03_01/MetricAlertResourcePatch.java | 357 ++++++++
...tSingleResourceMultipleMetricCriteria.java | 49 ++
.../v2018_03_01/MetricAlertStatus.java | 121 +++
.../MetricAlertStatusCollection.java | 26 +
.../MetricAlertStatusProperties.java | 97 +++
.../monitor/v2018_03_01/MetricAlerts.java | 25 +
.../v2018_03_01/MetricAlertsStatus.java | 40 +
.../monitor/v2018_03_01/MetricCriteria.java | 73 ++
.../monitor/v2018_03_01/MetricDimension.java | 96 +++
.../v2018_03_01/MultiMetricCriteria.java | 184 ++++
.../monitor/v2018_03_01/ReceiverStatus.java | 56 ++
.../monitor/v2018_03_01/SmsReceiver.java | 112 +++
.../monitor/v2018_03_01/VoiceReceiver.java | 96 +++
.../monitor/v2018_03_01/WebhookReceiver.java | 70 ++
.../ActionGroupResourceImpl.java | 204 +++++
.../ActionGroupResourceInner.java | 318 +++++++
.../implementation/ActionGroupsImpl.java | 144 ++++
.../implementation/ActionGroupsInner.java | 723 ++++++++++++++++
.../implementation/IdParsingUtils.java | 57 ++
.../MetricAlertResourceImpl.java | 218 +++++
.../MetricAlertResourceInner.java | 333 ++++++++
.../MetricAlertStatusCollectionImpl.java | 40 +
.../MetricAlertStatusCollectionInner.java | 45 +
.../implementation/MetricAlertsImpl.java | 138 +++
.../implementation/MetricAlertsInner.java | 622 ++++++++++++++
.../MetricAlertsStatusImpl.java | 58 ++
.../MetricAlertsStatusInner.java | 243 ++++++
.../MonitorManagementClientImpl.java | 224 +++++
.../implementation/MonitorManager.java | 123 +++
.../v2018_03_01/implementation/PageImpl.java | 75 ++
.../implementation/package-info.java | 11 +
.../monitor/v2018_03_01/package-info.java | 11 +
monitor/resource-manager/v2018_04_16/pom.xml | 133 +++
.../monitor/v2018_04_16/Action.java | 25 +
.../monitor/v2018_04_16/AlertSeverity.java | 50 ++
.../monitor/v2018_04_16/AlertingAction.java | 125 +++
.../monitor/v2018_04_16/AzNsActionGroup.java | 96 +++
.../v2018_04_16/ConditionalOperator.java | 44 +
.../monitor/v2018_04_16/Criteria.java | 70 ++
.../monitor/v2018_04_16/Dimension.java | 105 +++
.../monitor/v2018_04_16/Enabled.java | 41 +
.../monitor/v2018_04_16/ErrorResponse.java | 69 ++
.../v2018_04_16/ErrorResponseException.java | 44 +
.../monitor/v2018_04_16/LogMetricTrigger.java | 123 +++
.../v2018_04_16/LogSearchRuleResource.java | 176 ++++
.../LogSearchRuleResourcePatch.java | 73 ++
.../v2018_04_16/LogToMetricAction.java | 48 ++
.../v2018_04_16/MetricTriggerType.java | 41 +
.../v2018_04_16/ProvisioningState.java | 47 ++
.../monitor/v2018_04_16/QueryType.java | 38 +
.../monitor/v2018_04_16/Schedule.java | 70 ++
.../v2018_04_16/ScheduledQueryRules.java | 25 +
.../monitor/v2018_04_16/Source.java | 122 +++
.../monitor/v2018_04_16/TriggerCondition.java | 96 +++
.../implementation/IdParsingUtils.java | 57 ++
.../LogSearchRuleResourceImpl.java | 142 ++++
.../LogSearchRuleResourceInner.java | 189 +++++
.../implementation/MonitorClientImpl.java | 196 +++++
.../implementation/MonitorManager.java | 99 +++
.../v2018_04_16/implementation/PageImpl.java | 75 ++
.../ScheduledQueryRulesImpl.java | 138 +++
.../ScheduledQueryRulesInner.java | 787 ++++++++++++++++++
.../implementation/package-info.java | 11 +
.../monitor/v2018_04_16/package-info.java | 11 +
monitor/resource-manager/v2018_09_01/pom.xml | 133 +++
.../v2018_09_01/ActionGroupPatchBody.java | 73 ++
.../v2018_09_01/ActionGroupResource.java | 285 +++++++
.../monitor/v2018_09_01/ActionGroups.java | 37 +
.../monitor/v2018_09_01/ArmRoleReceiver.java | 70 ++
.../AutomationRunbookReceiver.java | 174 ++++
.../v2018_09_01/AzureAppPushReceiver.java | 70 ++
.../v2018_09_01/AzureFunctionReceiver.java | 122 +++
.../v2018_09_01/BaselineMetadataValue.java | 69 ++
.../monitor/v2018_09_01/BaselineResponse.java | 69 ++
.../monitor/v2018_09_01/Baselines.java | 28 +
.../CalculateBaselineResponse.java | 38 +
.../monitor/v2018_09_01/EmailReceiver.java | 86 ++
.../monitor/v2018_09_01/EnableRequest.java | 43 +
.../monitor/v2018_09_01/ErrorResponse.java | 69 ++
.../v2018_09_01/ErrorResponseException.java | 44 +
.../monitor/v2018_09_01/ItsmReceiver.java | 151 ++++
.../v2018_09_01/LocalizableString.java | 69 ++
.../monitor/v2018_09_01/LogicAppReceiver.java | 96 +++
.../monitor/v2018_09_01/MetricBaselines.java | 39 +
.../monitor/v2018_09_01/ReceiverStatus.java | 56 ++
.../monitor/v2018_09_01/ResultType.java | 53 ++
.../monitor/v2018_09_01/Sensitivity.java | 56 ++
.../monitor/v2018_09_01/SmsReceiver.java | 112 +++
.../v2018_09_01/TimeSeriesInformation.java | 97 +++
.../monitor/v2018_09_01/VoiceReceiver.java | 96 +++
.../monitor/v2018_09_01/WebhookReceiver.java | 70 ++
.../ActionGroupResourceImpl.java | 216 +++++
.../ActionGroupResourceInner.java | 346 ++++++++
.../implementation/ActionGroupsImpl.java | 144 ++++
.../implementation/ActionGroupsInner.java | 723 ++++++++++++++++
.../implementation/BaselineInner.java | 98 +++
.../implementation/BaselineResponseImpl.java | 76 ++
.../implementation/BaselineResponseInner.java | 231 +++++
.../implementation/BaselinesImpl.java | 42 +
.../implementation/BaselinesInner.java | 247 ++++++
.../CalculateBaselineResponseImpl.java | 43 +
.../CalculateBaselineResponseInner.java | 97 +++
.../implementation/IdParsingUtils.java | 57 ++
.../implementation/MetricBaselinesImpl.java | 56 ++
.../implementation/MetricBaselinesInner.java | 348 ++++++++
.../MonitorManagementClientImpl.java | 224 +++++
.../implementation/MonitorManager.java | 123 +++
.../v2018_09_01/implementation/PageImpl.java | 75 ++
.../implementation/package-info.java | 11 +
.../monitor/v2018_09_01/package-info.java | 11 +
255 files changed, 30489 insertions(+)
create mode 100644 monitor/resource-manager/v2015_07_01/pom.xml
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ErrorResponse.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ErrorResponseException.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/LogSettings.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/MetricSettings.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/RetentionPolicy.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ServiceDiagnosticSettings.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ServiceDiagnosticSettingsResource.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/IdParsingUtils.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/MonitorClientImpl.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/MonitorManager.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsImpl.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsInner.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsResourceImpl.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsResourceInner.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/package-info.java
create mode 100644 monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/package-info.java
create mode 100644 monitor/resource-manager/v2016_03_01/pom.xml
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AggregationType.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleIncidents.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleResource.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleResourcePatch.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRules.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ConditionOperator.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ErrorResponse.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ErrorResponseException.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/Incident.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LocalizableString.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LocationThresholdRuleCondition.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfileResource.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfileResourcePatch.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfiles.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ManagementEventAggregationCondition.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ManagementEventRuleCondition.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricAvailability.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricDefinition.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricDefinitions.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RetentionPolicy.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleAction.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleCondition.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleDataSource.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleEmailAction.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleManagementEventClaimsDataSource.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleManagementEventDataSource.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleMetricDataSource.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleWebhookAction.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ThresholdRuleCondition.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/TimeAggregationOperator.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/Unit.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleIncidentsImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleIncidentsInner.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleResourceImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleResourceInner.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRulesImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRulesInner.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/IdParsingUtils.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/IncidentImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/IncidentInner.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/LogProfileResourceImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/LogProfileResourceInner.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/LogProfilesImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/LogProfilesInner.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/MetricDefinitionImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/MetricDefinitionInner.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/MetricDefinitionsImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/MetricDefinitionsInner.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/MonitorManagementClientImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/MonitorManager.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/PageImpl.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/package-info.java
create mode 100644 monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/package-info.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/pom.xml
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ActivityLogAlertActionGroup.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ActivityLogAlertActionList.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ActivityLogAlertAllOfCondition.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ActivityLogAlertLeafCondition.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ActivityLogAlertResource.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ActivityLogAlertResourcePatch.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ActivityLogAlerts.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ErrorResponse.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/ErrorResponseException.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/ActivityLogAlertResourceImpl.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/ActivityLogAlertResourceInner.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/ActivityLogAlertsImpl.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/ActivityLogAlertsInner.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/IdParsingUtils.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/MonitorManagementClientImpl.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/MonitorManager.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/PageImpl.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/implementation/package-info.java
create mode 100644 monitor/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/monitor/v2017_03_01_preview/package-info.java
create mode 100644 monitor/resource-manager/v2017_04_01/pom.xml
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActionGroupPatchBody.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActionGroupResource.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActionGroups.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActivityLogAlertActionGroup.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActivityLogAlertActionList.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActivityLogAlertAllOfCondition.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActivityLogAlertLeafCondition.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActivityLogAlertPatchBody.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActivityLogAlertResource.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ActivityLogAlerts.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/AutomationRunbookReceiver.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/AzureAppPushReceiver.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/EmailReceiver.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/EnableRequest.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ErrorResponse.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ErrorResponseException.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ItsmReceiver.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/ReceiverStatus.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/SmsReceiver.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/WebhookReceiver.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/ActionGroupResourceImpl.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/ActionGroupResourceInner.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/ActionGroupsImpl.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/ActionGroupsInner.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/ActivityLogAlertResourceImpl.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/ActivityLogAlertResourceInner.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/ActivityLogAlertsImpl.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/ActivityLogAlertsInner.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/IdParsingUtils.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/MonitorManagementClientImpl.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/MonitorManager.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/PageImpl.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/implementation/package-info.java
create mode 100644 monitor/resource-manager/v2017_04_01/src/main/java/com/microsoft/azure/management/monitor/v2017_04_01/package-info.java
create mode 100644 monitor/resource-manager/v2018_03_01/pom.xml
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/ActionGroupPatchBody.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/ActionGroupResource.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/ActionGroups.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/AutomationRunbookReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/AzureAppPushReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/AzureFunctionReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/DynamicMetricCriteria.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/DynamicThresholdFailingPeriods.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/EmailReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/EnableRequest.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/ErrorResponse.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/ErrorResponseException.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/ItsmReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/LogicAppReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertAction.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertCriteria.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertMultipleResourceMultipleMetricCriteria.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertResource.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertResourcePatch.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertSingleResourceMultipleMetricCriteria.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertStatus.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertStatusCollection.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertStatusProperties.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlerts.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricAlertsStatus.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricCriteria.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MetricDimension.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/MultiMetricCriteria.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/ReceiverStatus.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/SmsReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/VoiceReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/WebhookReceiver.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/ActionGroupResourceImpl.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/ActionGroupResourceInner.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/ActionGroupsImpl.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/ActionGroupsInner.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/IdParsingUtils.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MetricAlertResourceImpl.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MetricAlertResourceInner.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MetricAlertStatusCollectionImpl.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MetricAlertStatusCollectionInner.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MetricAlertsImpl.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MetricAlertsInner.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MetricAlertsStatusImpl.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MetricAlertsStatusInner.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MonitorManagementClientImpl.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/MonitorManager.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/PageImpl.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/implementation/package-info.java
create mode 100644 monitor/resource-manager/v2018_03_01/src/main/java/com/microsoft/azure/management/monitor/v2018_03_01/package-info.java
create mode 100644 monitor/resource-manager/v2018_04_16/pom.xml
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/Action.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/AlertSeverity.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/AlertingAction.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/AzNsActionGroup.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/ConditionalOperator.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/Criteria.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/Dimension.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/Enabled.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/ErrorResponse.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/ErrorResponseException.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/LogMetricTrigger.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/LogSearchRuleResource.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/LogSearchRuleResourcePatch.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/LogToMetricAction.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/MetricTriggerType.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/ProvisioningState.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/QueryType.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/Schedule.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/ScheduledQueryRules.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/Source.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/TriggerCondition.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/IdParsingUtils.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/LogSearchRuleResourceImpl.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/LogSearchRuleResourceInner.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/MonitorClientImpl.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/MonitorManager.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/PageImpl.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/ScheduledQueryRulesImpl.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/ScheduledQueryRulesInner.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/implementation/package-info.java
create mode 100644 monitor/resource-manager/v2018_04_16/src/main/java/com/microsoft/azure/management/monitor/v2018_04_16/package-info.java
create mode 100644 monitor/resource-manager/v2018_09_01/pom.xml
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ActionGroupPatchBody.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ActionGroupResource.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ActionGroups.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ArmRoleReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/AutomationRunbookReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/AzureAppPushReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/AzureFunctionReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/BaselineMetadataValue.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/BaselineResponse.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/Baselines.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/CalculateBaselineResponse.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/EmailReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/EnableRequest.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ErrorResponse.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ErrorResponseException.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ItsmReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/LocalizableString.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/LogicAppReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/MetricBaselines.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ReceiverStatus.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/ResultType.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/Sensitivity.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/SmsReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/TimeSeriesInformation.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/VoiceReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/WebhookReceiver.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/ActionGroupResourceImpl.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/ActionGroupResourceInner.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/ActionGroupsImpl.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/ActionGroupsInner.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/BaselineInner.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/BaselineResponseImpl.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/BaselineResponseInner.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/BaselinesImpl.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/BaselinesInner.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/CalculateBaselineResponseImpl.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/CalculateBaselineResponseInner.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/IdParsingUtils.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/MetricBaselinesImpl.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/MetricBaselinesInner.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/MonitorManagementClientImpl.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/MonitorManager.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/PageImpl.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/implementation/package-info.java
create mode 100644 monitor/resource-manager/v2018_09_01/src/main/java/com/microsoft/azure/management/monitor/v2018_09_01/package-info.java
diff --git a/monitor/resource-manager/v2015_07_01/pom.xml b/monitor/resource-manager/v2015_07_01/pom.xml
new file mode 100644
index 0000000000000..68bc87e4d7fe1
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+ com.microsoft.azure.monitor.v2015_07_01
+
+ com.microsoft.azure
+ azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
+
+ azure-mgmt-monitor
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for Monitor Management
+ This package contains Microsoft Monitor Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+
+ 1.7
+
+
+ com.microsoft.azure.management.apigeneration.LangDefinitionProcessor
+
+
+ true
+ true
+
+ true
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search
+
+
+ /**
+
* Copyright (c) Microsoft Corporation. All rights reserved.
+
* Licensed under the MIT License. See License.txt in the project root for
+
* license information.
+
*/
+ ]]>
+
+
+
+
+
+
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ErrorResponse.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ErrorResponse.java
new file mode 100644
index 0000000000000..c8200799676b6
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ErrorResponse.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the format of Error response.
+ */
+public class ErrorResponse {
+ /**
+ * Error code.
+ */
+ @JsonProperty(value = "code")
+ private String code;
+
+ /**
+ * Error message indicating why the operation failed.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /**
+ * Get error code.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set error code.
+ *
+ * @param code the code value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get error message indicating why the operation failed.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set error message indicating why the operation failed.
+ *
+ * @param message the message value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ErrorResponseException.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ErrorResponseException.java
new file mode 100644
index 0000000000000..9cbb0f2694665
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ErrorResponseException.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01;
+
+import com.microsoft.rest.RestException;
+import okhttp3.ResponseBody;
+import retrofit2.Response;
+
+/**
+ * Exception thrown for an invalid response with ErrorResponse information.
+ */
+public class ErrorResponseException extends RestException {
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ */
+ public ErrorResponseException(final String message, final Response response) {
+ super(message, response);
+ }
+
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ * @param body the deserialized response body
+ */
+ public ErrorResponseException(final String message, final Response response, final ErrorResponse body) {
+ super(message, response, body);
+ }
+
+ @Override
+ public ErrorResponse body() {
+ return (ErrorResponse) super.body();
+ }
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/LogSettings.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/LogSettings.java
new file mode 100644
index 0000000000000..4fae491586c0e
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/LogSettings.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Part of MultiTenantDiagnosticSettings. Specifies the settings for a
+ * particular log.
+ */
+public class LogSettings {
+ /**
+ * Name of a Diagnostic Log category for a resource type this setting is
+ * applied to. To obtain the list of Diagnostic Log categories for a
+ * resource, first perform a GET diagnostic settings operation.
+ */
+ @JsonProperty(value = "category")
+ private String category;
+
+ /**
+ * a value indicating whether this log is enabled.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /**
+ * the retention policy for this log.
+ */
+ @JsonProperty(value = "retentionPolicy")
+ private RetentionPolicy retentionPolicy;
+
+ /**
+ * Get name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.
+ *
+ * @return the category value
+ */
+ public String category() {
+ return this.category;
+ }
+
+ /**
+ * Set name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation.
+ *
+ * @param category the category value to set
+ * @return the LogSettings object itself.
+ */
+ public LogSettings withCategory(String category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ * Get a value indicating whether this log is enabled.
+ *
+ * @return the enabled value
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set a value indicating whether this log is enabled.
+ *
+ * @param enabled the enabled value to set
+ * @return the LogSettings object itself.
+ */
+ public LogSettings withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the retention policy for this log.
+ *
+ * @return the retentionPolicy value
+ */
+ public RetentionPolicy retentionPolicy() {
+ return this.retentionPolicy;
+ }
+
+ /**
+ * Set the retention policy for this log.
+ *
+ * @param retentionPolicy the retentionPolicy value to set
+ * @return the LogSettings object itself.
+ */
+ public LogSettings withRetentionPolicy(RetentionPolicy retentionPolicy) {
+ this.retentionPolicy = retentionPolicy;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/MetricSettings.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/MetricSettings.java
new file mode 100644
index 0000000000000..7e8ba79783363
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/MetricSettings.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01;
+
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Part of MultiTenantDiagnosticSettings. Specifies the settings for a
+ * particular metric.
+ */
+public class MetricSettings {
+ /**
+ * the timegrain of the metric in ISO8601 format.
+ */
+ @JsonProperty(value = "timeGrain", required = true)
+ private Period timeGrain;
+
+ /**
+ * a value indicating whether this timegrain is enabled.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /**
+ * the retention policy for this timegrain.
+ */
+ @JsonProperty(value = "retentionPolicy")
+ private RetentionPolicy retentionPolicy;
+
+ /**
+ * Get the timegrain of the metric in ISO8601 format.
+ *
+ * @return the timeGrain value
+ */
+ public Period timeGrain() {
+ return this.timeGrain;
+ }
+
+ /**
+ * Set the timegrain of the metric in ISO8601 format.
+ *
+ * @param timeGrain the timeGrain value to set
+ * @return the MetricSettings object itself.
+ */
+ public MetricSettings withTimeGrain(Period timeGrain) {
+ this.timeGrain = timeGrain;
+ return this;
+ }
+
+ /**
+ * Get a value indicating whether this timegrain is enabled.
+ *
+ * @return the enabled value
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set a value indicating whether this timegrain is enabled.
+ *
+ * @param enabled the enabled value to set
+ * @return the MetricSettings object itself.
+ */
+ public MetricSettings withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the retention policy for this timegrain.
+ *
+ * @return the retentionPolicy value
+ */
+ public RetentionPolicy retentionPolicy() {
+ return this.retentionPolicy;
+ }
+
+ /**
+ * Set the retention policy for this timegrain.
+ *
+ * @param retentionPolicy the retentionPolicy value to set
+ * @return the MetricSettings object itself.
+ */
+ public MetricSettings withRetentionPolicy(RetentionPolicy retentionPolicy) {
+ this.retentionPolicy = retentionPolicy;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/RetentionPolicy.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/RetentionPolicy.java
new file mode 100644
index 0000000000000..2e0c63dc3c51f
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/RetentionPolicy.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies the retention policy for the log.
+ */
+public class RetentionPolicy {
+ /**
+ * a value indicating whether the retention policy is enabled.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /**
+ * the number of days for the retention in days. A value of 0 will retain
+ * the events indefinitely.
+ */
+ @JsonProperty(value = "days", required = true)
+ private int days;
+
+ /**
+ * Get a value indicating whether the retention policy is enabled.
+ *
+ * @return the enabled value
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set a value indicating whether the retention policy is enabled.
+ *
+ * @param enabled the enabled value to set
+ * @return the RetentionPolicy object itself.
+ */
+ public RetentionPolicy withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the number of days for the retention in days. A value of 0 will retain the events indefinitely.
+ *
+ * @return the days value
+ */
+ public int days() {
+ return this.days;
+ }
+
+ /**
+ * Set the number of days for the retention in days. A value of 0 will retain the events indefinitely.
+ *
+ * @param days the days value to set
+ * @return the RetentionPolicy object itself.
+ */
+ public RetentionPolicy withDays(int days) {
+ this.days = days;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ServiceDiagnosticSettings.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ServiceDiagnosticSettings.java
new file mode 100644
index 0000000000000..bad4bc03453ae
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ServiceDiagnosticSettings.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.monitor.v2015_07_01.implementation.ServiceDiagnosticSettingsResourceInner;
+import com.microsoft.azure.management.monitor.v2015_07_01.implementation.ServiceDiagnosticSettingsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ServiceDiagnosticSettings.
+ */
+public interface ServiceDiagnosticSettings extends HasInner {
+ /**
+ * Gets the active diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceUri);
+
+ /**
+ * Create or update new diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param parameters Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateAsync(String resourceUri, ServiceDiagnosticSettingsResourceInner parameters);
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ServiceDiagnosticSettingsResource.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ServiceDiagnosticSettingsResource.java
new file mode 100644
index 0000000000000..330a3cd17321b
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/ServiceDiagnosticSettingsResource.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.monitor.v2015_07_01.implementation.MonitorManager;
+import com.microsoft.azure.management.monitor.v2015_07_01.implementation.ServiceDiagnosticSettingsResourceInner;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Type representing ServiceDiagnosticSettingsResource.
+ */
+public interface ServiceDiagnosticSettingsResource extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the logs value.
+ */
+ List logs();
+
+ /**
+ * @return the metrics value.
+ */
+ List metrics();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the serviceBusRuleId value.
+ */
+ String serviceBusRuleId();
+
+ /**
+ * @return the storageAccountId value.
+ */
+ String storageAccountId();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the workspaceId value.
+ */
+ String workspaceId();
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/IdParsingUtils.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/IdParsingUtils.java
new file mode 100644
index 0000000000000..92694fd512379
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/IdParsingUtils.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01.implementation;
+import java.util.Arrays;
+import java.util.Iterator;
+
+class IdParsingUtils {
+ public static String getValueFromIdByName(String id, String name) {
+ if (id == null) {
+ return null;
+ }
+ Iterable iterable = Arrays.asList(id.split("/"));
+ Iterator itr = iterable.iterator();
+ while (itr.hasNext()) {
+ String part = itr.next();
+ if (part != null && part.trim() != "") {
+ if (part.equalsIgnoreCase(name)) {
+ if (itr.hasNext()) {
+ return itr.next();
+ } else {
+ return null;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public static String getValueFromIdByPosition(String id, int pos) {
+ if (id == null) {
+ return null;
+ }
+ Iterable iterable = Arrays.asList(id.split("/"));
+ Iterator itr = iterable.iterator();
+ int index = 0;
+ while (itr.hasNext()) {
+ String part = itr.next();
+ if (part != null && part.trim() != "") {
+ if (index == pos) {
+ if (itr.hasNext()) {
+ return itr.next();
+ } else {
+ return null;
+ }
+ }
+ }
+ index++;
+ }
+ return null;
+ }
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/MonitorClientImpl.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/MonitorClientImpl.java
new file mode 100644
index 0000000000000..9bea3c8c85da0
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/MonitorClientImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01.implementation;
+
+import com.microsoft.azure.AzureClient;
+import com.microsoft.azure.AzureServiceClient;
+import com.microsoft.rest.credentials.ServiceClientCredentials;
+import com.microsoft.rest.RestClient;
+
+/**
+ * Initializes a new instance of the MonitorClientImpl class.
+ */
+public class MonitorClientImpl extends AzureServiceClient {
+ /** the {@link AzureClient} used for long running operations. */
+ private AzureClient azureClient;
+
+ /**
+ * Gets the {@link AzureClient} used for long running operations.
+ * @return the azure client;
+ */
+ public AzureClient getAzureClient() {
+ return this.azureClient;
+ }
+
+ /** Client Api Version. */
+ private String apiVersion;
+
+ /**
+ * Gets Client Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ public String apiVersion() {
+ return this.apiVersion;
+ }
+
+ /** The preferred language for the response. */
+ private String acceptLanguage;
+
+ /**
+ * Gets The preferred language for the response.
+ *
+ * @return the acceptLanguage value.
+ */
+ public String acceptLanguage() {
+ return this.acceptLanguage;
+ }
+
+ /**
+ * Sets The preferred language for the response.
+ *
+ * @param acceptLanguage the acceptLanguage value.
+ * @return the service client itself
+ */
+ public MonitorClientImpl withAcceptLanguage(String acceptLanguage) {
+ this.acceptLanguage = acceptLanguage;
+ return this;
+ }
+
+ /** The retry timeout in seconds for Long Running Operations. Default value is 30. */
+ private int longRunningOperationRetryTimeout;
+
+ /**
+ * Gets The retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @return the longRunningOperationRetryTimeout value.
+ */
+ public int longRunningOperationRetryTimeout() {
+ return this.longRunningOperationRetryTimeout;
+ }
+
+ /**
+ * Sets The retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @param longRunningOperationRetryTimeout the longRunningOperationRetryTimeout value.
+ * @return the service client itself
+ */
+ public MonitorClientImpl withLongRunningOperationRetryTimeout(int longRunningOperationRetryTimeout) {
+ this.longRunningOperationRetryTimeout = longRunningOperationRetryTimeout;
+ return this;
+ }
+
+ /** Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. */
+ private boolean generateClientRequestId;
+
+ /**
+ * Gets Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
+ *
+ * @return the generateClientRequestId value.
+ */
+ public boolean generateClientRequestId() {
+ return this.generateClientRequestId;
+ }
+
+ /**
+ * Sets Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
+ *
+ * @param generateClientRequestId the generateClientRequestId value.
+ * @return the service client itself
+ */
+ public MonitorClientImpl withGenerateClientRequestId(boolean generateClientRequestId) {
+ this.generateClientRequestId = generateClientRequestId;
+ return this;
+ }
+
+ /**
+ * The ServiceDiagnosticSettingsInner object to access its operations.
+ */
+ private ServiceDiagnosticSettingsInner serviceDiagnosticSettings;
+
+ /**
+ * Gets the ServiceDiagnosticSettingsInner object to access its operations.
+ * @return the ServiceDiagnosticSettingsInner object.
+ */
+ public ServiceDiagnosticSettingsInner serviceDiagnosticSettings() {
+ return this.serviceDiagnosticSettings;
+ }
+
+ /**
+ * Initializes an instance of MonitorClient client.
+ *
+ * @param credentials the management credentials for Azure
+ */
+ public MonitorClientImpl(ServiceClientCredentials credentials) {
+ this("https://management.azure.com", credentials);
+ }
+
+ /**
+ * Initializes an instance of MonitorClient client.
+ *
+ * @param baseUrl the base URL of the host
+ * @param credentials the management credentials for Azure
+ */
+ public MonitorClientImpl(String baseUrl, ServiceClientCredentials credentials) {
+ super(baseUrl, credentials);
+ initialize();
+ }
+
+ /**
+ * Initializes an instance of MonitorClient client.
+ *
+ * @param restClient the REST client to connect to Azure.
+ */
+ public MonitorClientImpl(RestClient restClient) {
+ super(restClient);
+ initialize();
+ }
+
+ protected void initialize() {
+ this.apiVersion = "2015-07-01";
+ this.acceptLanguage = "en-US";
+ this.longRunningOperationRetryTimeout = 30;
+ this.generateClientRequestId = true;
+ this.serviceDiagnosticSettings = new ServiceDiagnosticSettingsInner(restClient().retrofit(), this);
+ this.azureClient = new AzureClient(this);
+ }
+
+ /**
+ * Gets the User-Agent header for the client.
+ *
+ * @return the user agent string.
+ */
+ @Override
+ public String userAgent() {
+ return String.format("%s (%s, %s, auto-generated)", super.userAgent(), "MonitorClient", "2015-07-01");
+ }
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/MonitorManager.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/MonitorManager.java
new file mode 100644
index 0000000000000..8cc090d069a4f
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/MonitorManager.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01.implementation;
+
+import com.microsoft.azure.AzureEnvironment;
+import com.microsoft.azure.AzureResponseBuilder;
+import com.microsoft.azure.credentials.AzureTokenCredentials;
+import com.microsoft.azure.management.apigeneration.Beta;
+import com.microsoft.azure.management.apigeneration.Beta.SinceVersion;
+import com.microsoft.azure.arm.resources.AzureConfigurable;
+import com.microsoft.azure.serializer.AzureJacksonAdapter;
+import com.microsoft.rest.RestClient;
+import com.microsoft.azure.management.monitor.v2015_07_01.ServiceDiagnosticSettings;
+import com.microsoft.azure.arm.resources.implementation.AzureConfigurableCoreImpl;
+import com.microsoft.azure.arm.resources.implementation.ManagerCore;
+
+/**
+ * Entry point to Azure Monitor resource management.
+ */
+public final class MonitorManager extends ManagerCore {
+ private ServiceDiagnosticSettings serviceDiagnosticSettings;
+ /**
+ * Get a Configurable instance that can be used to create MonitorManager with optional configuration.
+ *
+ * @return the instance allowing configurations
+ */
+ public static Configurable configure() {
+ return new MonitorManager.ConfigurableImpl();
+ }
+ /**
+ * Creates an instance of MonitorManager that exposes Monitor resource management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @return the MonitorManager
+ */
+ public static MonitorManager authenticate(AzureTokenCredentials credentials) {
+ return new MonitorManager(new RestClient.Builder()
+ .withBaseUrl(credentials.environment(), AzureEnvironment.Endpoint.RESOURCE_MANAGER)
+ .withCredentials(credentials)
+ .withSerializerAdapter(new AzureJacksonAdapter())
+ .withResponseBuilderFactory(new AzureResponseBuilder.Factory())
+ .build());
+ }
+ /**
+ * Creates an instance of MonitorManager that exposes Monitor resource management API entry points.
+ *
+ * @param restClient the RestClient to be used for API calls.
+ * @return the MonitorManager
+ */
+ public static MonitorManager authenticate(RestClient restClient) {
+ return new MonitorManager(restClient);
+ }
+ /**
+ * The interface allowing configurations to be set.
+ */
+ public interface Configurable extends AzureConfigurable {
+ /**
+ * Creates an instance of MonitorManager that exposes Monitor management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @return the interface exposing Monitor management API entry points that work across subscriptions
+ */
+ MonitorManager authenticate(AzureTokenCredentials credentials);
+ }
+
+ /**
+ * @return Entry point to manage ServiceDiagnosticSettings.
+ */
+ public ServiceDiagnosticSettings serviceDiagnosticSettings() {
+ if (this.serviceDiagnosticSettings == null) {
+ this.serviceDiagnosticSettings = new ServiceDiagnosticSettingsImpl(this);
+ }
+ return this.serviceDiagnosticSettings;
+ }
+
+ /**
+ * The implementation for Configurable interface.
+ */
+ private static final class ConfigurableImpl extends AzureConfigurableCoreImpl implements Configurable {
+ public MonitorManager authenticate(AzureTokenCredentials credentials) {
+ return MonitorManager.authenticate(buildRestClient(credentials));
+ }
+ }
+ private MonitorManager(RestClient restClient) {
+ super(
+ restClient,
+ null,
+ new MonitorClientImpl(restClient));
+ }
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsImpl.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsImpl.java
new file mode 100644
index 0000000000000..3fc19b565e1d4
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsImpl.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * abc
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.monitor.v2015_07_01.ServiceDiagnosticSettings;
+import rx.functions.Func1;
+import rx.Observable;
+import com.microsoft.azure.management.monitor.v2015_07_01.ServiceDiagnosticSettingsResource;
+
+class ServiceDiagnosticSettingsImpl extends WrapperImpl implements ServiceDiagnosticSettings {
+ private final MonitorManager manager;
+
+ ServiceDiagnosticSettingsImpl(MonitorManager manager) {
+ super(manager.inner().serviceDiagnosticSettings());
+ this.manager = manager;
+ }
+
+ public MonitorManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable getAsync(String resourceUri) {
+ ServiceDiagnosticSettingsInner client = this.inner();
+ return client.getAsync(resourceUri)
+ .map(new Func1() {
+ @Override
+ public ServiceDiagnosticSettingsResource call(ServiceDiagnosticSettingsResourceInner inner) {
+ return new ServiceDiagnosticSettingsResourceImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable createOrUpdateAsync(String resourceUri, ServiceDiagnosticSettingsResourceInner parameters) {
+ ServiceDiagnosticSettingsInner client = this.inner();
+ return client.createOrUpdateAsync(resourceUri, parameters)
+ .map(new Func1() {
+ @Override
+ public ServiceDiagnosticSettingsResource call(ServiceDiagnosticSettingsResourceInner inner) {
+ return new ServiceDiagnosticSettingsResourceImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsInner.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsInner.java
new file mode 100644
index 0000000000000..0a159ca01765e
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsInner.java
@@ -0,0 +1,228 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.management.monitor.v2015_07_01.ErrorResponseException;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import com.microsoft.rest.Validator;
+import java.io.IOException;
+import okhttp3.ResponseBody;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.Path;
+import retrofit2.http.PUT;
+import retrofit2.http.Query;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in ServiceDiagnosticSettings.
+ */
+public class ServiceDiagnosticSettingsInner {
+ /** The Retrofit service to perform REST calls. */
+ private ServiceDiagnosticSettingsService service;
+ /** The service client containing this operation class. */
+ private MonitorClientImpl client;
+
+ /**
+ * Initializes an instance of ServiceDiagnosticSettingsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public ServiceDiagnosticSettingsInner(Retrofit retrofit, MonitorClientImpl client) {
+ this.service = retrofit.create(ServiceDiagnosticSettingsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ServiceDiagnosticSettings to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface ServiceDiagnosticSettingsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2015_07_01.ServiceDiagnosticSettings get" })
+ @GET("{resourceUri}/providers/microsoft.insights/diagnosticSettings/service")
+ Observable> get(@Path("resourceUri") String resourceUri, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2015_07_01.ServiceDiagnosticSettings createOrUpdate" })
+ @PUT("{resourceUri}/providers/microsoft.insights/diagnosticSettings/service")
+ Observable> createOrUpdate(@Path("resourceUri") String resourceUri, @Query("api-version") String apiVersion, @Body ServiceDiagnosticSettingsResourceInner parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Gets the active diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the ServiceDiagnosticSettingsResourceInner object if successful.
+ */
+ public ServiceDiagnosticSettingsResourceInner get(String resourceUri) {
+ return getWithServiceResponseAsync(resourceUri).toBlocking().single().body();
+ }
+
+ /**
+ * Gets the active diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture getAsync(String resourceUri, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(resourceUri), serviceCallback);
+ }
+
+ /**
+ * Gets the active diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the ServiceDiagnosticSettingsResourceInner object
+ */
+ public Observable getAsync(String resourceUri) {
+ return getWithServiceResponseAsync(resourceUri).map(new Func1, ServiceDiagnosticSettingsResourceInner>() {
+ @Override
+ public ServiceDiagnosticSettingsResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets the active diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the ServiceDiagnosticSettingsResourceInner object
+ */
+ public Observable> getWithServiceResponseAsync(String resourceUri) {
+ if (resourceUri == null) {
+ throw new IllegalArgumentException("Parameter resourceUri is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.get(resourceUri, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Create or update new diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param parameters Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the ServiceDiagnosticSettingsResourceInner object if successful.
+ */
+ public ServiceDiagnosticSettingsResourceInner createOrUpdate(String resourceUri, ServiceDiagnosticSettingsResourceInner parameters) {
+ return createOrUpdateWithServiceResponseAsync(resourceUri, parameters).toBlocking().single().body();
+ }
+
+ /**
+ * Create or update new diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param parameters Parameters supplied to the operation.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture createOrUpdateAsync(String resourceUri, ServiceDiagnosticSettingsResourceInner parameters, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceUri, parameters), serviceCallback);
+ }
+
+ /**
+ * Create or update new diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param parameters Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the ServiceDiagnosticSettingsResourceInner object
+ */
+ public Observable createOrUpdateAsync(String resourceUri, ServiceDiagnosticSettingsResourceInner parameters) {
+ return createOrUpdateWithServiceResponseAsync(resourceUri, parameters).map(new Func1, ServiceDiagnosticSettingsResourceInner>() {
+ @Override
+ public ServiceDiagnosticSettingsResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Create or update new diagnostic settings for the specified resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @param parameters Parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the ServiceDiagnosticSettingsResourceInner object
+ */
+ public Observable> createOrUpdateWithServiceResponseAsync(String resourceUri, ServiceDiagnosticSettingsResourceInner parameters) {
+ if (resourceUri == null) {
+ throw new IllegalArgumentException("Parameter resourceUri is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ if (parameters == null) {
+ throw new IllegalArgumentException("Parameter parameters is required and cannot be null.");
+ }
+ Validator.validate(parameters);
+ return service.createOrUpdate(resourceUri, this.client.apiVersion(), parameters, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = createOrUpdateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse createOrUpdateDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsResourceImpl.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsResourceImpl.java
new file mode 100644
index 0000000000000..22d1c8d9941a1
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsResourceImpl.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01.implementation;
+
+import com.microsoft.azure.management.monitor.v2015_07_01.ServiceDiagnosticSettingsResource;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import java.util.List;
+import com.microsoft.azure.management.monitor.v2015_07_01.LogSettings;
+import com.microsoft.azure.management.monitor.v2015_07_01.MetricSettings;
+import java.util.Map;
+
+class ServiceDiagnosticSettingsResourceImpl extends WrapperImpl implements ServiceDiagnosticSettingsResource {
+ private final MonitorManager manager;
+ ServiceDiagnosticSettingsResourceImpl(ServiceDiagnosticSettingsResourceInner inner, MonitorManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public MonitorManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String location() {
+ return this.inner().location();
+ }
+
+ @Override
+ public List logs() {
+ return this.inner().logs();
+ }
+
+ @Override
+ public List metrics() {
+ return this.inner().metrics();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public String serviceBusRuleId() {
+ return this.inner().serviceBusRuleId();
+ }
+
+ @Override
+ public String storageAccountId() {
+ return this.inner().storageAccountId();
+ }
+
+ @Override
+ public Map tags() {
+ return this.inner().getTags();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public String workspaceId() {
+ return this.inner().workspaceId();
+ }
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsResourceInner.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsResourceInner.java
new file mode 100644
index 0000000000000..effaedba93336
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/ServiceDiagnosticSettingsResourceInner.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2015_07_01.implementation;
+
+import java.util.List;
+import com.microsoft.azure.management.monitor.v2015_07_01.MetricSettings;
+import com.microsoft.azure.management.monitor.v2015_07_01.LogSettings;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.Resource;
+
+/**
+ * Description of a service diagnostic setting.
+ */
+@JsonFlatten
+public class ServiceDiagnosticSettingsResourceInner extends Resource {
+ /**
+ * 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 service bus namespace in which you would
+ * like to have Event Hubs created for streaming Diagnostic Logs. The rule
+ * ID is of the format: '{service bus resource ID}/authorizationrules/{key
+ * name}'.
+ */
+ @JsonProperty(value = "properties.serviceBusRuleId")
+ private String serviceBusRuleId;
+
+ /**
+ * 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 workspace ID (resource ID of a Log Analytics workspace) for a 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;
+
+ /**
+ * Get 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 resource ID of the storage account to which you would like to send Diagnostic Logs.
+ *
+ * @param storageAccountId the storageAccountId value to set
+ * @return the ServiceDiagnosticSettingsResourceInner object itself.
+ */
+ public ServiceDiagnosticSettingsResourceInner withStorageAccountId(String storageAccountId) {
+ this.storageAccountId = storageAccountId;
+ return this;
+ }
+
+ /**
+ * Get the service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming Diagnostic Logs. 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 service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming Diagnostic Logs. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'.
+ *
+ * @param serviceBusRuleId the serviceBusRuleId value to set
+ * @return the ServiceDiagnosticSettingsResourceInner object itself.
+ */
+ public ServiceDiagnosticSettingsResourceInner withServiceBusRuleId(String serviceBusRuleId) {
+ this.serviceBusRuleId = serviceBusRuleId;
+ return this;
+ }
+
+ /**
+ * Get the list of metric settings.
+ *
+ * @return the metrics value
+ */
+ public List metrics() {
+ return this.metrics;
+ }
+
+ /**
+ * Set the list of metric settings.
+ *
+ * @param metrics the metrics value to set
+ * @return the ServiceDiagnosticSettingsResourceInner object itself.
+ */
+ public ServiceDiagnosticSettingsResourceInner withMetrics(List metrics) {
+ this.metrics = metrics;
+ return this;
+ }
+
+ /**
+ * Get the list of logs settings.
+ *
+ * @return the logs value
+ */
+ public List logs() {
+ return this.logs;
+ }
+
+ /**
+ * Set the list of logs settings.
+ *
+ * @param logs the logs value to set
+ * @return the ServiceDiagnosticSettingsResourceInner object itself.
+ */
+ public ServiceDiagnosticSettingsResourceInner withLogs(List logs) {
+ this.logs = logs;
+ return this;
+ }
+
+ /**
+ * Get the workspace ID (resource ID of a Log Analytics workspace) for a 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 workspace ID (resource ID of a Log Analytics workspace) for a 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 ServiceDiagnosticSettingsResourceInner object itself.
+ */
+ public ServiceDiagnosticSettingsResourceInner withWorkspaceId(String workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/package-info.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/package-info.java
new file mode 100644
index 0000000000000..4285898ce416d
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/implementation/package-info.java
@@ -0,0 +1,11 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * This package contains the implementation classes for MonitorClient.
+ * Monitor Management Client.
+ */
+package com.microsoft.azure.management.monitor.v2015_07_01.implementation;
diff --git a/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/package-info.java b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/package-info.java
new file mode 100644
index 0000000000000..29e8fe5cbda7e
--- /dev/null
+++ b/monitor/resource-manager/v2015_07_01/src/main/java/com/microsoft/azure/management/monitor/v2015_07_01/package-info.java
@@ -0,0 +1,11 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * This package contains the classes for MonitorClient.
+ * Monitor Management Client.
+ */
+package com.microsoft.azure.management.monitor.v2015_07_01;
diff --git a/monitor/resource-manager/v2016_03_01/pom.xml b/monitor/resource-manager/v2016_03_01/pom.xml
new file mode 100644
index 0000000000000..2e49b3bdcc3d8
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+ com.microsoft.azure.monitor.v2016_03_01
+
+ com.microsoft.azure
+ azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
+
+ azure-mgmt-monitor
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for Monitor Management
+ This package contains Microsoft Monitor Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+
+ 1.7
+
+
+ com.microsoft.azure.management.apigeneration.LangDefinitionProcessor
+
+
+ true
+ true
+
+ true
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search
+
+
+ /**
+
* Copyright (c) Microsoft Corporation. All rights reserved.
+
* Licensed under the MIT License. See License.txt in the project root for
+
* license information.
+
*/
+ ]]>
+
+
+
+
+
+
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AggregationType.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AggregationType.java
new file mode 100644
index 0000000000000..8ec6c89a099b3
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AggregationType.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for AggregationType.
+ */
+public enum AggregationType {
+ /** Enum value None. */
+ NONE("None"),
+
+ /** Enum value Average. */
+ AVERAGE("Average"),
+
+ /** Enum value Count. */
+ COUNT("Count"),
+
+ /** Enum value Minimum. */
+ MINIMUM("Minimum"),
+
+ /** Enum value Maximum. */
+ MAXIMUM("Maximum"),
+
+ /** Enum value Total. */
+ TOTAL("Total");
+
+ /** The actual serialized value for a AggregationType instance. */
+ private String value;
+
+ AggregationType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a AggregationType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed AggregationType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static AggregationType fromString(String value) {
+ AggregationType[] items = AggregationType.values();
+ for (AggregationType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleIncidents.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleIncidents.java
new file mode 100644
index 0000000000000..b38d95701fc21
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleIncidents.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.AlertRuleIncidentsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing AlertRuleIncidents.
+ */
+public interface AlertRuleIncidents extends HasInner {
+ /**
+ * 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
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String ruleName, String incidentName);
+
+ /**
+ * 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
+ * @return the observable for the request
+ */
+ Observable listByAlertRuleAsync(String resourceGroupName, String ruleName);
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleResource.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleResource.java
new file mode 100644
index 0000000000000..fd55ef9e519ff
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleResource.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.MonitorManager;
+import java.util.List;
+import org.joda.time.DateTime;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.AlertRuleResourceInner;
+
+/**
+ * Type representing AlertRuleResource.
+ */
+public interface AlertRuleResource extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the actions value.
+ */
+ List actions();
+
+ /**
+ * @return the alertRuleResourceName value.
+ */
+ String alertRuleResourceName();
+
+ /**
+ * @return the condition value.
+ */
+ RuleCondition condition();
+
+ /**
+ * @return the description value.
+ */
+ String description();
+
+ /**
+ * @return the isEnabled value.
+ */
+ boolean isEnabled();
+
+ /**
+ * @return the lastUpdatedTime value.
+ */
+ DateTime lastUpdatedTime();
+
+ /**
+ * The entirety of the AlertRuleResource definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithAlertRuleResourceName, DefinitionStages.WithCondition, DefinitionStages.WithIsEnabled, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of AlertRuleResource definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a AlertRuleResource definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the AlertRuleResource definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the alertruleresource definition allowing to specify AlertRuleResourceName.
+ */
+ interface WithAlertRuleResourceName {
+ /**
+ * Specifies alertRuleResourceName.
+ * @param alertRuleResourceName the name of the alert rule
+ * @return the next definition stage
+*/
+ WithCondition withAlertRuleResourceName(String alertRuleResourceName);
+ }
+
+ /**
+ * The stage of the alertruleresource definition allowing to specify Condition.
+ */
+ interface WithCondition {
+ /**
+ * Specifies condition.
+ * @param condition the condition that results in the alert rule being activated
+ * @return the next definition stage
+*/
+ WithIsEnabled withCondition(RuleCondition condition);
+ }
+
+ /**
+ * The stage of the alertruleresource definition allowing to specify IsEnabled.
+ */
+ interface WithIsEnabled {
+ /**
+ * Specifies isEnabled.
+ * @param isEnabled the flag that indicates whether the alert rule is enabled
+ * @return the next definition stage
+*/
+ WithCreate withIsEnabled(boolean isEnabled);
+ }
+
+ /**
+ * The stage of the alertruleresource definition allowing to specify Actions.
+ */
+ interface WithActions {
+ /**
+ * Specifies actions.
+ * @param actions the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved
+ * @return the next definition stage
+ */
+ WithCreate withActions(List actions);
+ }
+
+ /**
+ * The stage of the alertruleresource definition allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ * @param description the description of the alert rule that will be included in the alert email
+ * @return the next definition stage
+ */
+ WithCreate withDescription(String description);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithActions, DefinitionStages.WithDescription {
+ }
+ }
+ /**
+ * The template for a AlertRuleResource update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithActions, UpdateStages.WithDescription {
+ }
+
+ /**
+ * Grouping of AlertRuleResource update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the alertruleresource update allowing to specify Actions.
+ */
+ interface WithActions {
+ /**
+ * Specifies actions.
+ * @param actions the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved
+ * @return the next update stage
+ */
+ Update withActions(List actions);
+ }
+
+ /**
+ * The stage of the alertruleresource update allowing to specify Description.
+ */
+ interface WithDescription {
+ /**
+ * Specifies description.
+ * @param description the description of the alert rule that will be included in the alert email
+ * @return the next update stage
+ */
+ Update withDescription(String description);
+ }
+
+ }
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleResourcePatch.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleResourcePatch.java
new file mode 100644
index 0000000000000..19a677bf64e1f
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRuleResourcePatch.java
@@ -0,0 +1,195 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import java.util.Map;
+import java.util.List;
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The alert rule object for patch operations.
+ */
+@JsonFlatten
+public class AlertRuleResourcePatch {
+ /**
+ * Resource tags.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * the name of the alert rule.
+ */
+ @JsonProperty(value = "properties.name", required = true)
+ private String name;
+
+ /**
+ * 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 DateTime lastUpdatedTime;
+
+ /**
+ * Get resource tags.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set resource tags.
+ *
+ * @param tags the tags value to set
+ * @return the AlertRuleResourcePatch object itself.
+ */
+ public AlertRuleResourcePatch withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the name of the alert rule.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the alert rule.
+ *
+ * @param name the name value to set
+ * @return the AlertRuleResourcePatch object itself.
+ */
+ public AlertRuleResourcePatch withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get 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 of the alert rule that will be included in the alert email.
+ *
+ * @param description the description value to set
+ * @return the AlertRuleResourcePatch object itself.
+ */
+ public AlertRuleResourcePatch withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the flag that indicates whether the alert rule is enabled.
+ *
+ * @return the isEnabled value
+ */
+ public boolean isEnabled() {
+ return this.isEnabled;
+ }
+
+ /**
+ * Set the flag that indicates whether the alert rule is enabled.
+ *
+ * @param isEnabled the isEnabled value to set
+ * @return the AlertRuleResourcePatch object itself.
+ */
+ public AlertRuleResourcePatch withIsEnabled(boolean isEnabled) {
+ this.isEnabled = isEnabled;
+ return this;
+ }
+
+ /**
+ * Get the condition that results in the alert rule being activated.
+ *
+ * @return the condition value
+ */
+ public RuleCondition condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition that results in the alert rule being activated.
+ *
+ * @param condition the condition value to set
+ * @return the AlertRuleResourcePatch object itself.
+ */
+ public AlertRuleResourcePatch withCondition(RuleCondition condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get 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 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 AlertRuleResourcePatch object itself.
+ */
+ public AlertRuleResourcePatch withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Get last time the rule was updated in ISO8601 format.
+ *
+ * @return the lastUpdatedTime value
+ */
+ public DateTime lastUpdatedTime() {
+ return this.lastUpdatedTime;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRules.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRules.java
new file mode 100644
index 0000000000000..8961a3348b55b
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/AlertRules.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.AlertRulesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing AlertRules.
+ */
+public interface AlertRules extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ConditionOperator.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ConditionOperator.java
new file mode 100644
index 0000000000000..f3e1fe4c544c1
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ConditionOperator.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ConditionOperator.
+ */
+public enum ConditionOperator {
+ /** Enum value GreaterThan. */
+ GREATER_THAN("GreaterThan"),
+
+ /** Enum value GreaterThanOrEqual. */
+ GREATER_THAN_OR_EQUAL("GreaterThanOrEqual"),
+
+ /** Enum value LessThan. */
+ LESS_THAN("LessThan"),
+
+ /** Enum value LessThanOrEqual. */
+ LESS_THAN_OR_EQUAL("LessThanOrEqual");
+
+ /** The actual serialized value for a ConditionOperator instance. */
+ private String value;
+
+ ConditionOperator(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ConditionOperator instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ConditionOperator object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ConditionOperator fromString(String value) {
+ ConditionOperator[] items = ConditionOperator.values();
+ for (ConditionOperator item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ErrorResponse.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ErrorResponse.java
new file mode 100644
index 0000000000000..1de7f1247ad60
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ErrorResponse.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the format of Error response.
+ */
+public class ErrorResponse {
+ /**
+ * Error code.
+ */
+ @JsonProperty(value = "code")
+ private String code;
+
+ /**
+ * Error message indicating why the operation failed.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /**
+ * Get error code.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set error code.
+ *
+ * @param code the code value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get error message indicating why the operation failed.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set error message indicating why the operation failed.
+ *
+ * @param message the message value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ErrorResponseException.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ErrorResponseException.java
new file mode 100644
index 0000000000000..b70db4dcba597
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ErrorResponseException.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.microsoft.rest.RestException;
+import okhttp3.ResponseBody;
+import retrofit2.Response;
+
+/**
+ * Exception thrown for an invalid response with ErrorResponse information.
+ */
+public class ErrorResponseException extends RestException {
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ */
+ public ErrorResponseException(final String message, final Response response) {
+ super(message, response);
+ }
+
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ * @param body the deserialized response body
+ */
+ public ErrorResponseException(final String message, final Response response, final ErrorResponse body) {
+ super(message, response, body);
+ }
+
+ @Override
+ public ErrorResponse body() {
+ return (ErrorResponse) super.body();
+ }
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/Incident.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/Incident.java
new file mode 100644
index 0000000000000..fb80580c882ec
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/Incident.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.IncidentInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.MonitorManager;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing Incident.
+ */
+public interface Incident extends HasInner, HasManager {
+ /**
+ * @return the activatedTime value.
+ */
+ DateTime activatedTime();
+
+ /**
+ * @return the isActive value.
+ */
+ Boolean isActive();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the resolvedTime value.
+ */
+ DateTime resolvedTime();
+
+ /**
+ * @return the ruleName value.
+ */
+ String ruleName();
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LocalizableString.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LocalizableString.java
new file mode 100644
index 0000000000000..b2895db0a39fa
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LocalizableString.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The localizable string class.
+ */
+public class LocalizableString {
+ /**
+ * the invariant value.
+ */
+ @JsonProperty(value = "value", required = true)
+ private String value;
+
+ /**
+ * the locale specific value.
+ */
+ @JsonProperty(value = "localizedValue")
+ private String localizedValue;
+
+ /**
+ * Get the invariant value.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the invariant value.
+ *
+ * @param value the value value to set
+ * @return the LocalizableString object itself.
+ */
+ public LocalizableString withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the locale specific value.
+ *
+ * @return the localizedValue value
+ */
+ public String localizedValue() {
+ return this.localizedValue;
+ }
+
+ /**
+ * Set the locale specific value.
+ *
+ * @param localizedValue the localizedValue value to set
+ * @return the LocalizableString object itself.
+ */
+ public LocalizableString withLocalizedValue(String localizedValue) {
+ this.localizedValue = localizedValue;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LocationThresholdRuleCondition.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LocationThresholdRuleCondition.java
new file mode 100644
index 0000000000000..84ffcffa69f81
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LocationThresholdRuleCondition.java
@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A rule condition based on a certain number of locations failing.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition")
+public class LocationThresholdRuleCondition extends RuleCondition {
+ /**
+ * the period of time (in ISO 8601 duration format) that is used to monitor
+ * alert activity based on the threshold. If specified then it must be
+ * between 5 minutes and 1 day.
+ */
+ @JsonProperty(value = "windowSize")
+ private Period windowSize;
+
+ /**
+ * the number of locations that must fail to activate the alert.
+ */
+ @JsonProperty(value = "failedLocationCount", required = true)
+ private int failedLocationCount;
+
+ /**
+ * Get the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day.
+ *
+ * @return the windowSize value
+ */
+ public Period windowSize() {
+ return this.windowSize;
+ }
+
+ /**
+ * Set the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day.
+ *
+ * @param windowSize the windowSize value to set
+ * @return the LocationThresholdRuleCondition object itself.
+ */
+ public LocationThresholdRuleCondition withWindowSize(Period windowSize) {
+ this.windowSize = windowSize;
+ return this;
+ }
+
+ /**
+ * Get the number of locations that must fail to activate the alert.
+ *
+ * @return the failedLocationCount value
+ */
+ public int failedLocationCount() {
+ return this.failedLocationCount;
+ }
+
+ /**
+ * Set the number of locations that must fail to activate the alert.
+ *
+ * @param failedLocationCount the failedLocationCount value to set
+ * @return the LocationThresholdRuleCondition object itself.
+ */
+ public LocationThresholdRuleCondition withFailedLocationCount(int failedLocationCount) {
+ this.failedLocationCount = failedLocationCount;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfileResource.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfileResource.java
new file mode 100644
index 0000000000000..bc02f2ce5fdd4
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfileResource.java
@@ -0,0 +1,232 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.LogProfileResourceInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.MonitorManager;
+import java.util.Map;
+import java.util.List;
+
+/**
+ * Type representing LogProfileResource.
+ */
+public interface LogProfileResource extends HasInner, Indexable, Updatable, Refreshable, HasManager {
+ /**
+ * @return the categories value.
+ */
+ List categories();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the locations value.
+ */
+ List locations();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the retentionPolicy value.
+ */
+ RetentionPolicy retentionPolicy();
+
+ /**
+ * @return the serviceBusRuleId value.
+ */
+ String serviceBusRuleId();
+
+ /**
+ * @return the storageAccountId value.
+ */
+ String storageAccountId();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the LogProfileResource definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithCategories, DefinitionStages.WithLocation, DefinitionStages.WithLocations, DefinitionStages.WithRetentionPolicy, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of LogProfileResource definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a LogProfileResource definition.
+ */
+ interface Blank extends WithCategories {
+ }
+
+ /**
+ * The stage of the logprofileresource definition allowing to specify Categories.
+ */
+ interface WithCategories {
+ /**
+ * Specifies categories.
+ * @param categories 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 next definition stage
+ */
+ WithLocation withCategories(List categories);
+ }
+
+ /**
+ * The stage of the logprofileresource definition allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ * @param location Resource location
+ * @return the next definition stage
+ */
+ WithLocations withLocation(String location);
+ }
+
+ /**
+ * The stage of the logprofileresource definition allowing to specify Locations.
+ */
+ interface WithLocations {
+ /**
+ * Specifies locations.
+ * @param locations 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 next definition stage
+ */
+ WithRetentionPolicy withLocations(List locations);
+ }
+
+ /**
+ * The stage of the logprofileresource definition allowing to specify RetentionPolicy.
+ */
+ interface WithRetentionPolicy {
+ /**
+ * Specifies retentionPolicy.
+ * @param retentionPolicy the retention policy for the events in the log
+ * @return the next definition stage
+ */
+ WithCreate withRetentionPolicy(RetentionPolicy retentionPolicy);
+ }
+
+ /**
+ * The stage of the logprofileresource definition allowing to specify ServiceBusRuleId.
+ */
+ interface WithServiceBusRuleId {
+ /**
+ * Specifies serviceBusRuleId.
+ * @param serviceBusRuleId 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 next definition stage
+ */
+ WithCreate withServiceBusRuleId(String serviceBusRuleId);
+ }
+
+ /**
+ * The stage of the logprofileresource definition allowing to specify StorageAccountId.
+ */
+ interface WithStorageAccountId {
+ /**
+ * Specifies storageAccountId.
+ * @param storageAccountId the resource id of the storage account to which you would like to send the Activity Log
+ * @return the next definition stage
+ */
+ WithCreate withStorageAccountId(String storageAccountId);
+ }
+
+ /**
+ * The stage of the logprofileresource definition allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags Resource tags
+ * @return the next definition stage
+ */
+ WithCreate withTags(Map tags);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithServiceBusRuleId, DefinitionStages.WithStorageAccountId, DefinitionStages.WithTags {
+ }
+ }
+ /**
+ * The template for a LogProfileResource update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithServiceBusRuleId, UpdateStages.WithStorageAccountId, UpdateStages.WithTags {
+ }
+
+ /**
+ * Grouping of LogProfileResource update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the logprofileresource update allowing to specify ServiceBusRuleId.
+ */
+ interface WithServiceBusRuleId {
+ /**
+ * Specifies serviceBusRuleId.
+ * @param serviceBusRuleId 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 next update stage
+ */
+ Update withServiceBusRuleId(String serviceBusRuleId);
+ }
+
+ /**
+ * The stage of the logprofileresource update allowing to specify StorageAccountId.
+ */
+ interface WithStorageAccountId {
+ /**
+ * Specifies storageAccountId.
+ * @param storageAccountId the resource id of the storage account to which you would like to send the Activity Log
+ * @return the next update stage
+ */
+ Update withStorageAccountId(String storageAccountId);
+ }
+
+ /**
+ * The stage of the logprofileresource update allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags Resource tags
+ * @return the next update stage
+ */
+ Update withTags(Map tags);
+ }
+
+ }
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfileResourcePatch.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfileResourcePatch.java
new file mode 100644
index 0000000000000..f097592583c47
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfileResourcePatch.java
@@ -0,0 +1,185 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import java.util.Map;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * The log profile resource for patch operations.
+ */
+@JsonFlatten
+public class LogProfileResourcePatch {
+ /**
+ * Resource tags.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * 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 resource tags.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set resource tags.
+ *
+ * @param tags the tags value to set
+ * @return the LogProfileResourcePatch object itself.
+ */
+ public LogProfileResourcePatch withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get 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 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 LogProfileResourcePatch object itself.
+ */
+ public LogProfileResourcePatch withStorageAccountId(String storageAccountId) {
+ this.storageAccountId = storageAccountId;
+ return this;
+ }
+
+ /**
+ * Get 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 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 LogProfileResourcePatch object itself.
+ */
+ public LogProfileResourcePatch withServiceBusRuleId(String serviceBusRuleId) {
+ this.serviceBusRuleId = serviceBusRuleId;
+ return this;
+ }
+
+ /**
+ * Get 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 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 LogProfileResourcePatch object itself.
+ */
+ public LogProfileResourcePatch withLocations(List locations) {
+ this.locations = locations;
+ return this;
+ }
+
+ /**
+ * Get 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 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 LogProfileResourcePatch object itself.
+ */
+ public LogProfileResourcePatch withCategories(List categories) {
+ this.categories = categories;
+ return this;
+ }
+
+ /**
+ * Get the retention policy for the events in the log.
+ *
+ * @return the retentionPolicy value
+ */
+ public RetentionPolicy retentionPolicy() {
+ return this.retentionPolicy;
+ }
+
+ /**
+ * Set the retention policy for the events in the log.
+ *
+ * @param retentionPolicy the retentionPolicy value to set
+ * @return the LogProfileResourcePatch object itself.
+ */
+ public LogProfileResourcePatch withRetentionPolicy(RetentionPolicy retentionPolicy) {
+ this.retentionPolicy = retentionPolicy;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfiles.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfiles.java
new file mode 100644
index 0000000000000..115404aa91d29
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/LogProfiles.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.LogProfilesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing LogProfiles.
+ */
+public interface LogProfiles extends SupportsCreating, SupportsListing, HasInner {
+ /**
+ * Deletes the log profile.
+ *
+ * @param logProfileName The name of the log profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String logProfileName);
+
+ /**
+ * Gets the log profile.
+ *
+ * @param logProfileName The name of the log profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String logProfileName);
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ManagementEventAggregationCondition.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ManagementEventAggregationCondition.java
new file mode 100644
index 0000000000000..ba81b4f8152d7
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ManagementEventAggregationCondition.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * How the data that is collected should be combined over time.
+ */
+public class ManagementEventAggregationCondition {
+ /**
+ * the condition operator. Possible values include: 'GreaterThan',
+ * 'GreaterThanOrEqual', 'LessThan', 'LessThanOrEqual'.
+ */
+ @JsonProperty(value = "operator")
+ private ConditionOperator operator;
+
+ /**
+ * The threshold value that activates the alert.
+ */
+ @JsonProperty(value = "threshold")
+ private Double threshold;
+
+ /**
+ * the period of time (in ISO 8601 duration format) that is used to monitor
+ * alert activity based on the threshold. If specified then it must be
+ * between 5 minutes and 1 day.
+ */
+ @JsonProperty(value = "windowSize")
+ private Period windowSize;
+
+ /**
+ * Get the condition operator. Possible values include: 'GreaterThan', 'GreaterThanOrEqual', 'LessThan', 'LessThanOrEqual'.
+ *
+ * @return the operator value
+ */
+ public ConditionOperator operator() {
+ return this.operator;
+ }
+
+ /**
+ * Set the condition operator. Possible values include: 'GreaterThan', 'GreaterThanOrEqual', 'LessThan', 'LessThanOrEqual'.
+ *
+ * @param operator the operator value to set
+ * @return the ManagementEventAggregationCondition object itself.
+ */
+ public ManagementEventAggregationCondition withOperator(ConditionOperator operator) {
+ this.operator = operator;
+ return this;
+ }
+
+ /**
+ * Get the threshold value that activates the alert.
+ *
+ * @return the threshold value
+ */
+ public Double threshold() {
+ return this.threshold;
+ }
+
+ /**
+ * Set the threshold value that activates the alert.
+ *
+ * @param threshold the threshold value to set
+ * @return the ManagementEventAggregationCondition object itself.
+ */
+ public ManagementEventAggregationCondition withThreshold(Double threshold) {
+ this.threshold = threshold;
+ return this;
+ }
+
+ /**
+ * Get the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day.
+ *
+ * @return the windowSize value
+ */
+ public Period windowSize() {
+ return this.windowSize;
+ }
+
+ /**
+ * Set the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day.
+ *
+ * @param windowSize the windowSize value to set
+ * @return the ManagementEventAggregationCondition object itself.
+ */
+ public ManagementEventAggregationCondition withWindowSize(Period windowSize) {
+ this.windowSize = windowSize;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ManagementEventRuleCondition.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ManagementEventRuleCondition.java
new file mode 100644
index 0000000000000..91a08d6ad5610
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ManagementEventRuleCondition.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A management event rule condition.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("Microsoft.Azure.Management.Insights.Models.ManagementEventRuleCondition")
+public class ManagementEventRuleCondition extends RuleCondition {
+ /**
+ * How the data that is collected should be combined over time and when the
+ * alert is activated. Note that for management event alerts aggregation is
+ * optional – if it is not provided then any event will cause the alert to
+ * activate.
+ */
+ @JsonProperty(value = "aggregation")
+ private ManagementEventAggregationCondition aggregation;
+
+ /**
+ * Get how the data that is collected should be combined over time and when the alert is activated. Note that for management event alerts aggregation is optional – if it is not provided then any event will cause the alert to activate.
+ *
+ * @return the aggregation value
+ */
+ public ManagementEventAggregationCondition aggregation() {
+ return this.aggregation;
+ }
+
+ /**
+ * Set how the data that is collected should be combined over time and when the alert is activated. Note that for management event alerts aggregation is optional – if it is not provided then any event will cause the alert to activate.
+ *
+ * @param aggregation the aggregation value to set
+ * @return the ManagementEventRuleCondition object itself.
+ */
+ public ManagementEventRuleCondition withAggregation(ManagementEventAggregationCondition aggregation) {
+ this.aggregation = aggregation;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricAvailability.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricAvailability.java
new file mode 100644
index 0000000000000..dc4e1af91727a
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricAvailability.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Metric availability specifies the time grain (aggregation interval or
+ * frequency) and the retention period for that time grain.
+ */
+public class MetricAvailability {
+ /**
+ * the time grain specifies the aggregation interval for the metric.
+ * Expressed as a duration 'PT1M', 'P1D', etc.
+ */
+ @JsonProperty(value = "timeGrain")
+ private Period timeGrain;
+
+ /**
+ * the retention period for the metric at the specified timegrain.
+ * Expressed as a duration 'PT1M', 'P1D', etc.
+ */
+ @JsonProperty(value = "retention")
+ private Period retention;
+
+ /**
+ * Get the time grain specifies the aggregation interval for the metric. Expressed as a duration 'PT1M', 'P1D', etc.
+ *
+ * @return the timeGrain value
+ */
+ public Period timeGrain() {
+ return this.timeGrain;
+ }
+
+ /**
+ * Set the time grain specifies the aggregation interval for the metric. Expressed as a duration 'PT1M', 'P1D', etc.
+ *
+ * @param timeGrain the timeGrain value to set
+ * @return the MetricAvailability object itself.
+ */
+ public MetricAvailability withTimeGrain(Period timeGrain) {
+ this.timeGrain = timeGrain;
+ return this;
+ }
+
+ /**
+ * Get the retention period for the metric at the specified timegrain. Expressed as a duration 'PT1M', 'P1D', etc.
+ *
+ * @return the retention value
+ */
+ public Period retention() {
+ return this.retention;
+ }
+
+ /**
+ * Set the retention period for the metric at the specified timegrain. Expressed as a duration 'PT1M', 'P1D', etc.
+ *
+ * @param retention the retention value to set
+ * @return the MetricAvailability object itself.
+ */
+ public MetricAvailability withRetention(Period retention) {
+ this.retention = retention;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricDefinition.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricDefinition.java
new file mode 100644
index 0000000000000..ac9d15b880914
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricDefinition.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.MonitorManager;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.MetricDefinitionInner;
+import java.util.List;
+
+/**
+ * Type representing MetricDefinition.
+ */
+public interface MetricDefinition extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the metricAvailabilities value.
+ */
+ List metricAvailabilities();
+
+ /**
+ * @return the name value.
+ */
+ LocalizableString name();
+
+ /**
+ * @return the primaryAggregationType value.
+ */
+ AggregationType primaryAggregationType();
+
+ /**
+ * @return the resourceId value.
+ */
+ String resourceId();
+
+ /**
+ * @return the unit value.
+ */
+ Unit unit();
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricDefinitions.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricDefinitions.java
new file mode 100644
index 0000000000000..ecfb239bba04d
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/MetricDefinitions.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.monitor.v2016_03_01.implementation.MetricDefinitionsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing MetricDefinitions.
+ */
+public interface MetricDefinitions extends HasInner {
+ /**
+ * Lists the metric definitions for the resource.
+ *
+ * @param resourceUri The identifier of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(String resourceUri);
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RetentionPolicy.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RetentionPolicy.java
new file mode 100644
index 0000000000000..35f1713648f33
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RetentionPolicy.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifies the retention policy for the log.
+ */
+public class RetentionPolicy {
+ /**
+ * a value indicating whether the retention policy is enabled.
+ */
+ @JsonProperty(value = "enabled", required = true)
+ private boolean enabled;
+
+ /**
+ * the number of days for the retention in days. A value of 0 will retain
+ * the events indefinitely.
+ */
+ @JsonProperty(value = "days", required = true)
+ private int days;
+
+ /**
+ * Get a value indicating whether the retention policy is enabled.
+ *
+ * @return the enabled value
+ */
+ public boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set a value indicating whether the retention policy is enabled.
+ *
+ * @param enabled the enabled value to set
+ * @return the RetentionPolicy object itself.
+ */
+ public RetentionPolicy withEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the number of days for the retention in days. A value of 0 will retain the events indefinitely.
+ *
+ * @return the days value
+ */
+ public int days() {
+ return this.days;
+ }
+
+ /**
+ * Set the number of days for the retention in days. A value of 0 will retain the events indefinitely.
+ *
+ * @param days the days value to set
+ * @return the RetentionPolicy object itself.
+ */
+ public RetentionPolicy withDays(int days) {
+ this.days = days;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleAction.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleAction.java
new file mode 100644
index 0000000000000..ab36f6f24da6f
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleAction.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * The action that is performed when the alert rule becomes active, and when an
+ * alert condition is resolved.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("RuleAction")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Microsoft.Azure.Management.Insights.Models.RuleEmailAction", value = RuleEmailAction.class),
+ @JsonSubTypes.Type(name = "Microsoft.Azure.Management.Insights.Models.RuleWebhookAction", value = RuleWebhookAction.class)
+})
+public class RuleAction {
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleCondition.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleCondition.java
new file mode 100644
index 0000000000000..b3ea69d4bec6e
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleCondition.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * The condition that results in the alert rule being activated.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("RuleCondition")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition", value = ThresholdRuleCondition.class),
+ @JsonSubTypes.Type(name = "Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition", value = LocationThresholdRuleCondition.class),
+ @JsonSubTypes.Type(name = "Microsoft.Azure.Management.Insights.Models.ManagementEventRuleCondition", value = ManagementEventRuleCondition.class)
+})
+public class RuleCondition {
+ /**
+ * the resource from which the rule collects its data. For this type
+ * dataSource will always be of type RuleMetricDataSource.
+ */
+ @JsonProperty(value = "dataSource")
+ private RuleDataSource dataSource;
+
+ /**
+ * Get the resource from which the rule collects its data. For this type dataSource will always be of type RuleMetricDataSource.
+ *
+ * @return the dataSource value
+ */
+ public RuleDataSource dataSource() {
+ return this.dataSource;
+ }
+
+ /**
+ * Set the resource from which the rule collects its data. For this type dataSource will always be of type RuleMetricDataSource.
+ *
+ * @param dataSource the dataSource value to set
+ * @return the RuleCondition object itself.
+ */
+ public RuleCondition withDataSource(RuleDataSource dataSource) {
+ this.dataSource = dataSource;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleDataSource.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleDataSource.java
new file mode 100644
index 0000000000000..3ae665e7cee9a
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleDataSource.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * The resource from which the rule collects its data.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("RuleDataSource")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource", value = RuleMetricDataSource.class),
+ @JsonSubTypes.Type(name = "Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource", value = RuleManagementEventDataSource.class)
+})
+public class RuleDataSource {
+ /**
+ * the resource identifier of the resource the rule monitors. **NOTE**:
+ * this property cannot be updated for an existing rule.
+ */
+ @JsonProperty(value = "resourceUri")
+ private String resourceUri;
+
+ /**
+ * Get the resource identifier of the resource the rule monitors. **NOTE**: this property cannot be updated for an existing rule.
+ *
+ * @return the resourceUri value
+ */
+ public String resourceUri() {
+ return this.resourceUri;
+ }
+
+ /**
+ * Set the resource identifier of the resource the rule monitors. **NOTE**: this property cannot be updated for an existing rule.
+ *
+ * @param resourceUri the resourceUri value to set
+ * @return the RuleDataSource object itself.
+ */
+ public RuleDataSource withResourceUri(String resourceUri) {
+ this.resourceUri = resourceUri;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleEmailAction.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleEmailAction.java
new file mode 100644
index 0000000000000..04eec7e95eaa9
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleEmailAction.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies the action to send email when the rule condition is evaluated. The
+ * discriminator is always RuleEmailAction in this case.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("Microsoft.Azure.Management.Insights.Models.RuleEmailAction")
+public class RuleEmailAction extends RuleAction {
+ /**
+ * Whether the administrators (service and co-administrators) of the
+ * service should be notified when the alert is activated.
+ */
+ @JsonProperty(value = "sendToServiceOwners")
+ private Boolean sendToServiceOwners;
+
+ /**
+ * the list of administrator's custom email addresses to notify of the
+ * activation of the alert.
+ */
+ @JsonProperty(value = "customEmails")
+ private List customEmails;
+
+ /**
+ * Get whether the administrators (service and co-administrators) of the service should be notified when the alert is activated.
+ *
+ * @return the sendToServiceOwners value
+ */
+ public Boolean sendToServiceOwners() {
+ return this.sendToServiceOwners;
+ }
+
+ /**
+ * Set whether the administrators (service and co-administrators) of the service should be notified when the alert is activated.
+ *
+ * @param sendToServiceOwners the sendToServiceOwners value to set
+ * @return the RuleEmailAction object itself.
+ */
+ public RuleEmailAction withSendToServiceOwners(Boolean sendToServiceOwners) {
+ this.sendToServiceOwners = sendToServiceOwners;
+ return this;
+ }
+
+ /**
+ * Get the list of administrator's custom email addresses to notify of the activation of the alert.
+ *
+ * @return the customEmails value
+ */
+ public List customEmails() {
+ return this.customEmails;
+ }
+
+ /**
+ * Set the list of administrator's custom email addresses to notify of the activation of the alert.
+ *
+ * @param customEmails the customEmails value to set
+ * @return the RuleEmailAction object itself.
+ */
+ public RuleEmailAction withCustomEmails(List customEmails) {
+ this.customEmails = customEmails;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleManagementEventClaimsDataSource.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleManagementEventClaimsDataSource.java
new file mode 100644
index 0000000000000..807c9e19bafa2
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleManagementEventClaimsDataSource.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The claims for a rule management event data source.
+ */
+public class RuleManagementEventClaimsDataSource {
+ /**
+ * the email address.
+ */
+ @JsonProperty(value = "emailAddress")
+ private String emailAddress;
+
+ /**
+ * Get the email address.
+ *
+ * @return the emailAddress value
+ */
+ public String emailAddress() {
+ return this.emailAddress;
+ }
+
+ /**
+ * Set the email address.
+ *
+ * @param emailAddress the emailAddress value to set
+ * @return the RuleManagementEventClaimsDataSource object itself.
+ */
+ public RuleManagementEventClaimsDataSource withEmailAddress(String emailAddress) {
+ this.emailAddress = emailAddress;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleManagementEventDataSource.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleManagementEventDataSource.java
new file mode 100644
index 0000000000000..3e74fcf0c6554
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleManagementEventDataSource.java
@@ -0,0 +1,258 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A rule management event data source. The discriminator fields is always
+ * RuleManagementEventDataSource in this case.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource")
+public class RuleManagementEventDataSource extends RuleDataSource {
+ /**
+ * the event name.
+ */
+ @JsonProperty(value = "eventName")
+ private String eventName;
+
+ /**
+ * the event source.
+ */
+ @JsonProperty(value = "eventSource")
+ private String eventSource;
+
+ /**
+ * the level.
+ */
+ @JsonProperty(value = "level")
+ private String level;
+
+ /**
+ * The name of the operation that should be checked for. If no name is
+ * provided, any operation will match.
+ */
+ @JsonProperty(value = "operationName")
+ private String operationName;
+
+ /**
+ * the resource group name.
+ */
+ @JsonProperty(value = "resourceGroupName")
+ private String resourceGroupName;
+
+ /**
+ * the resource provider name.
+ */
+ @JsonProperty(value = "resourceProviderName")
+ private String resourceProviderName;
+
+ /**
+ * The status of the operation that should be checked for. If no status is
+ * provided, any status will match.
+ */
+ @JsonProperty(value = "status")
+ private String status;
+
+ /**
+ * the substatus.
+ */
+ @JsonProperty(value = "subStatus")
+ private String subStatus;
+
+ /**
+ * the claims.
+ */
+ @JsonProperty(value = "claims")
+ private RuleManagementEventClaimsDataSource claims;
+
+ /**
+ * Get the event name.
+ *
+ * @return the eventName value
+ */
+ public String eventName() {
+ return this.eventName;
+ }
+
+ /**
+ * Set the event name.
+ *
+ * @param eventName the eventName value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withEventName(String eventName) {
+ this.eventName = eventName;
+ return this;
+ }
+
+ /**
+ * Get the event source.
+ *
+ * @return the eventSource value
+ */
+ public String eventSource() {
+ return this.eventSource;
+ }
+
+ /**
+ * Set the event source.
+ *
+ * @param eventSource the eventSource value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withEventSource(String eventSource) {
+ this.eventSource = eventSource;
+ return this;
+ }
+
+ /**
+ * Get the level.
+ *
+ * @return the level value
+ */
+ public String level() {
+ return this.level;
+ }
+
+ /**
+ * Set the level.
+ *
+ * @param level the level value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withLevel(String level) {
+ this.level = level;
+ return this;
+ }
+
+ /**
+ * Get the name of the operation that should be checked for. If no name is provided, any operation will match.
+ *
+ * @return the operationName value
+ */
+ public String operationName() {
+ return this.operationName;
+ }
+
+ /**
+ * Set the name of the operation that should be checked for. If no name is provided, any operation will match.
+ *
+ * @param operationName the operationName value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withOperationName(String operationName) {
+ this.operationName = operationName;
+ return this;
+ }
+
+ /**
+ * Get the resource group name.
+ *
+ * @return the resourceGroupName value
+ */
+ public String resourceGroupName() {
+ return this.resourceGroupName;
+ }
+
+ /**
+ * Set the resource group name.
+ *
+ * @param resourceGroupName the resourceGroupName value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withResourceGroupName(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ /**
+ * Get the resource provider name.
+ *
+ * @return the resourceProviderName value
+ */
+ public String resourceProviderName() {
+ return this.resourceProviderName;
+ }
+
+ /**
+ * Set the resource provider name.
+ *
+ * @param resourceProviderName the resourceProviderName value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withResourceProviderName(String resourceProviderName) {
+ this.resourceProviderName = resourceProviderName;
+ return this;
+ }
+
+ /**
+ * Get the status of the operation that should be checked for. If no status is provided, any status will match.
+ *
+ * @return the status value
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status of the operation that should be checked for. If no status is provided, any status will match.
+ *
+ * @param status the status value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withStatus(String status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the substatus.
+ *
+ * @return the subStatus value
+ */
+ public String subStatus() {
+ return this.subStatus;
+ }
+
+ /**
+ * Set the substatus.
+ *
+ * @param subStatus the subStatus value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withSubStatus(String subStatus) {
+ this.subStatus = subStatus;
+ return this;
+ }
+
+ /**
+ * Get the claims.
+ *
+ * @return the claims value
+ */
+ public RuleManagementEventClaimsDataSource claims() {
+ return this.claims;
+ }
+
+ /**
+ * Set the claims.
+ *
+ * @param claims the claims value to set
+ * @return the RuleManagementEventDataSource object itself.
+ */
+ public RuleManagementEventDataSource withClaims(RuleManagementEventClaimsDataSource claims) {
+ this.claims = claims;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleMetricDataSource.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleMetricDataSource.java
new file mode 100644
index 0000000000000..3814c965e9400
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleMetricDataSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A rule metric data source. The discriminator value is always
+ * RuleMetricDataSource in this case.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource")
+public class RuleMetricDataSource extends RuleDataSource {
+ /**
+ * the name of the metric that defines what the rule monitors.
+ */
+ @JsonProperty(value = "metricName")
+ private String metricName;
+
+ /**
+ * Get the name of the metric that defines what the rule monitors.
+ *
+ * @return the metricName value
+ */
+ public String metricName() {
+ return this.metricName;
+ }
+
+ /**
+ * Set the name of the metric that defines what the rule monitors.
+ *
+ * @param metricName the metricName value to set
+ * @return the RuleMetricDataSource object itself.
+ */
+ public RuleMetricDataSource withMetricName(String metricName) {
+ this.metricName = metricName;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleWebhookAction.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleWebhookAction.java
new file mode 100644
index 0000000000000..16349edffe28f
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/RuleWebhookAction.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Specifies the action to post to service when the rule condition is
+ * evaluated. The discriminator is always RuleWebhookAction in this case.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("Microsoft.Azure.Management.Insights.Models.RuleWebhookAction")
+public class RuleWebhookAction extends RuleAction {
+ /**
+ * the service uri to Post the notification when the alert activates or
+ * resolves.
+ */
+ @JsonProperty(value = "serviceUri")
+ private String serviceUri;
+
+ /**
+ * the dictionary of custom properties to include with the post operation.
+ * These data are appended to the webhook payload.
+ */
+ @JsonProperty(value = "properties")
+ private Map properties;
+
+ /**
+ * Get the service uri to Post the notification when the alert activates or resolves.
+ *
+ * @return the serviceUri value
+ */
+ public String serviceUri() {
+ return this.serviceUri;
+ }
+
+ /**
+ * Set the service uri to Post the notification when the alert activates or resolves.
+ *
+ * @param serviceUri the serviceUri value to set
+ * @return the RuleWebhookAction object itself.
+ */
+ public RuleWebhookAction withServiceUri(String serviceUri) {
+ this.serviceUri = serviceUri;
+ return this;
+ }
+
+ /**
+ * Get the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload.
+ *
+ * @return the properties value
+ */
+ public Map properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload.
+ *
+ * @param properties the properties value to set
+ * @return the RuleWebhookAction object itself.
+ */
+ public RuleWebhookAction withProperties(Map properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ThresholdRuleCondition.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ThresholdRuleCondition.java
new file mode 100644
index 0000000000000..03e9c5523a9c0
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/ThresholdRuleCondition.java
@@ -0,0 +1,133 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import org.joda.time.Period;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A rule condition based on a metric crossing a threshold.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "odata.type")
+@JsonTypeName("Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition")
+public class ThresholdRuleCondition extends RuleCondition {
+ /**
+ * the operator used to compare the data and the threshold. Possible values
+ * include: 'GreaterThan', 'GreaterThanOrEqual', 'LessThan',
+ * 'LessThanOrEqual'.
+ */
+ @JsonProperty(value = "operator", required = true)
+ private ConditionOperator operator;
+
+ /**
+ * the threshold value that activates the alert.
+ */
+ @JsonProperty(value = "threshold", required = true)
+ private double threshold;
+
+ /**
+ * the period of time (in ISO 8601 duration format) that is used to monitor
+ * alert activity based on the threshold. If specified then it must be
+ * between 5 minutes and 1 day.
+ */
+ @JsonProperty(value = "windowSize")
+ private Period windowSize;
+
+ /**
+ * the time aggregation operator. How the data that are collected should be
+ * combined over time. The default value is the PrimaryAggregationType of
+ * the Metric. Possible values include: 'Average', 'Minimum', 'Maximum',
+ * 'Total', 'Last'.
+ */
+ @JsonProperty(value = "timeAggregation")
+ private TimeAggregationOperator timeAggregation;
+
+ /**
+ * Get the operator used to compare the data and the threshold. Possible values include: 'GreaterThan', 'GreaterThanOrEqual', 'LessThan', 'LessThanOrEqual'.
+ *
+ * @return the operator value
+ */
+ public ConditionOperator operator() {
+ return this.operator;
+ }
+
+ /**
+ * Set the operator used to compare the data and the threshold. Possible values include: 'GreaterThan', 'GreaterThanOrEqual', 'LessThan', 'LessThanOrEqual'.
+ *
+ * @param operator the operator value to set
+ * @return the ThresholdRuleCondition object itself.
+ */
+ public ThresholdRuleCondition withOperator(ConditionOperator operator) {
+ this.operator = operator;
+ return this;
+ }
+
+ /**
+ * Get the threshold value that activates the alert.
+ *
+ * @return the threshold value
+ */
+ public double threshold() {
+ return this.threshold;
+ }
+
+ /**
+ * Set the threshold value that activates the alert.
+ *
+ * @param threshold the threshold value to set
+ * @return the ThresholdRuleCondition object itself.
+ */
+ public ThresholdRuleCondition withThreshold(double threshold) {
+ this.threshold = threshold;
+ return this;
+ }
+
+ /**
+ * Get the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day.
+ *
+ * @return the windowSize value
+ */
+ public Period windowSize() {
+ return this.windowSize;
+ }
+
+ /**
+ * Set the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day.
+ *
+ * @param windowSize the windowSize value to set
+ * @return the ThresholdRuleCondition object itself.
+ */
+ public ThresholdRuleCondition withWindowSize(Period windowSize) {
+ this.windowSize = windowSize;
+ return this;
+ }
+
+ /**
+ * Get the time aggregation operator. How the data that are collected should be combined over time. The default value is the PrimaryAggregationType of the Metric. Possible values include: 'Average', 'Minimum', 'Maximum', 'Total', 'Last'.
+ *
+ * @return the timeAggregation value
+ */
+ public TimeAggregationOperator timeAggregation() {
+ return this.timeAggregation;
+ }
+
+ /**
+ * Set the time aggregation operator. How the data that are collected should be combined over time. The default value is the PrimaryAggregationType of the Metric. Possible values include: 'Average', 'Minimum', 'Maximum', 'Total', 'Last'.
+ *
+ * @param timeAggregation the timeAggregation value to set
+ * @return the ThresholdRuleCondition object itself.
+ */
+ public ThresholdRuleCondition withTimeAggregation(TimeAggregationOperator timeAggregation) {
+ this.timeAggregation = timeAggregation;
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/TimeAggregationOperator.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/TimeAggregationOperator.java
new file mode 100644
index 0000000000000..f1f3f636194e0
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/TimeAggregationOperator.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for TimeAggregationOperator.
+ */
+public enum TimeAggregationOperator {
+ /** Enum value Average. */
+ AVERAGE("Average"),
+
+ /** Enum value Minimum. */
+ MINIMUM("Minimum"),
+
+ /** Enum value Maximum. */
+ MAXIMUM("Maximum"),
+
+ /** Enum value Total. */
+ TOTAL("Total"),
+
+ /** Enum value Last. */
+ LAST("Last");
+
+ /** The actual serialized value for a TimeAggregationOperator instance. */
+ private String value;
+
+ TimeAggregationOperator(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a TimeAggregationOperator instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed TimeAggregationOperator object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static TimeAggregationOperator fromString(String value) {
+ TimeAggregationOperator[] items = TimeAggregationOperator.values();
+ for (TimeAggregationOperator item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/Unit.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/Unit.java
new file mode 100644
index 0000000000000..f2efab7fe1aa5
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/Unit.java
@@ -0,0 +1,68 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for Unit.
+ */
+public enum Unit {
+ /** Enum value Count. */
+ COUNT("Count"),
+
+ /** Enum value Bytes. */
+ BYTES("Bytes"),
+
+ /** Enum value Seconds. */
+ SECONDS("Seconds"),
+
+ /** Enum value CountPerSecond. */
+ COUNT_PER_SECOND("CountPerSecond"),
+
+ /** Enum value BytesPerSecond. */
+ BYTES_PER_SECOND("BytesPerSecond"),
+
+ /** Enum value Percent. */
+ PERCENT("Percent"),
+
+ /** Enum value MilliSeconds. */
+ MILLI_SECONDS("MilliSeconds");
+
+ /** The actual serialized value for a Unit instance. */
+ private String value;
+
+ Unit(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a Unit instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed Unit object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static Unit fromString(String value) {
+ Unit[] items = Unit.values();
+ for (Unit item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleIncidentsImpl.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleIncidentsImpl.java
new file mode 100644
index 0000000000000..e8f4c1eb9015b
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleIncidentsImpl.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ *
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.monitor.v2016_03_01.AlertRuleIncidents;
+import rx.Observable;
+import rx.functions.Func1;
+import java.util.List;
+import com.microsoft.azure.management.monitor.v2016_03_01.Incident;
+
+class AlertRuleIncidentsImpl extends WrapperImpl implements AlertRuleIncidents {
+ private final MonitorManager manager;
+
+ AlertRuleIncidentsImpl(MonitorManager manager) {
+ super(manager.inner().alertRuleIncidents());
+ this.manager = manager;
+ }
+
+ public MonitorManager manager() {
+ return this.manager;
+ }
+
+ private IncidentImpl wrapModel(IncidentInner inner) {
+ return new IncidentImpl(inner, manager());
+ }
+
+ @Override
+ public Observable listByAlertRuleAsync(String resourceGroupName, String ruleName) {
+ AlertRuleIncidentsInner client = this.inner();
+ return client.listByAlertRuleAsync(resourceGroupName, ruleName)
+ .flatMap(new Func1, Observable>() {
+ @Override
+ public Observable call(List innerList) {
+ return Observable.from(innerList);
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public Incident call(IncidentInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public Observable getAsync(String resourceGroupName, String ruleName, String incidentName) {
+ AlertRuleIncidentsInner client = this.inner();
+ return client.getAsync(resourceGroupName, ruleName, incidentName)
+ .map(new Func1() {
+ @Override
+ public Incident call(IncidentInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleIncidentsInner.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleIncidentsInner.java
new file mode 100644
index 0000000000000..d9a2cbcbf3df7
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleIncidentsInner.java
@@ -0,0 +1,250 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.management.monitor.v2016_03_01.ErrorResponseException;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.Path;
+import retrofit2.http.Query;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in AlertRuleIncidents.
+ */
+public class AlertRuleIncidentsInner {
+ /** The Retrofit service to perform REST calls. */
+ private AlertRuleIncidentsService service;
+ /** The service client containing this operation class. */
+ private MonitorManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AlertRuleIncidentsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public AlertRuleIncidentsInner(Retrofit retrofit, MonitorManagementClientImpl client) {
+ this.service = retrofit.create(AlertRuleIncidentsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AlertRuleIncidents to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface AlertRuleIncidentsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2016_03_01.AlertRuleIncidents get" })
+ @GET("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}")
+ Observable> get(@Path("resourceGroupName") String resourceGroupName, @Path("ruleName") String ruleName, @Path("incidentName") String incidentName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2016_03_01.AlertRuleIncidents listByAlertRule" })
+ @GET("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents")
+ Observable> listByAlertRule(@Path("resourceGroupName") String resourceGroupName, @Path("ruleName") String ruleName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * 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 ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the IncidentInner object if successful.
+ */
+ public IncidentInner get(String resourceGroupName, String ruleName, String incidentName) {
+ return getWithServiceResponseAsync(resourceGroupName, ruleName, incidentName).toBlocking().single().body();
+ }
+
+ /**
+ * 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 serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture getAsync(String resourceGroupName, String ruleName, String incidentName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(resourceGroupName, ruleName, incidentName), serviceCallback);
+ }
+
+ /**
+ * 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
+ * @return the observable to the IncidentInner object
+ */
+ public Observable getAsync(String resourceGroupName, String ruleName, String incidentName) {
+ return getWithServiceResponseAsync(resourceGroupName, ruleName, incidentName).map(new Func1, IncidentInner>() {
+ @Override
+ public IncidentInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * 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
+ * @return the observable to the IncidentInner object
+ */
+ public Observable> getWithServiceResponseAsync(String resourceGroupName, String ruleName, String incidentName) {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (ruleName == null) {
+ throw new IllegalArgumentException("Parameter ruleName is required and cannot be null.");
+ }
+ if (incidentName == null) {
+ throw new IllegalArgumentException("Parameter incidentName is required and cannot be null.");
+ }
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.get(resourceGroupName, ruleName, incidentName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * 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 CloudException 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<IncidentInner> object if successful.
+ */
+ public List listByAlertRule(String resourceGroupName, String ruleName) {
+ return listByAlertRuleWithServiceResponseAsync(resourceGroupName, ruleName).toBlocking().single().body();
+ }
+
+ /**
+ * 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 serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listByAlertRuleAsync(String resourceGroupName, String ruleName, final ServiceCallback> serviceCallback) {
+ return ServiceFuture.fromResponse(listByAlertRuleWithServiceResponseAsync(resourceGroupName, ruleName), serviceCallback);
+ }
+
+ /**
+ * 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
+ * @return the observable to the List<IncidentInner> object
+ */
+ public Observable> listByAlertRuleAsync(String resourceGroupName, String ruleName) {
+ return listByAlertRuleWithServiceResponseAsync(resourceGroupName, ruleName).map(new Func1>, List>() {
+ @Override
+ public List call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * 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
+ * @return the observable to the List<IncidentInner> object
+ */
+ public Observable>> listByAlertRuleWithServiceResponseAsync(String resourceGroupName, String ruleName) {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (ruleName == null) {
+ throw new IllegalArgumentException("Parameter ruleName is required and cannot be null.");
+ }
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.listByAlertRule(resourceGroupName, ruleName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listByAlertRuleDelegate(response);
+ List items = null;
+ if (result.body() != null) {
+ items = result.body().items();
+ }
+ ServiceResponse> clientResponse = new ServiceResponse>(items, result.response());
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listByAlertRuleDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., CloudException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleResourceImpl.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleResourceImpl.java
new file mode 100644
index 0000000000000..7042ba6478616
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleResourceImpl.java
@@ -0,0 +1,139 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01.implementation;
+
+import com.microsoft.azure.arm.resources.models.implementation.GroupableResourceCoreImpl;
+import com.microsoft.azure.management.monitor.v2016_03_01.AlertRuleResource;
+import rx.Observable;
+import com.microsoft.azure.management.monitor.v2016_03_01.AlertRuleResourcePatch;
+import java.util.List;
+import org.joda.time.DateTime;
+import com.microsoft.azure.management.monitor.v2016_03_01.RuleCondition;
+import com.microsoft.azure.management.monitor.v2016_03_01.RuleAction;
+import rx.functions.Func1;
+
+class AlertRuleResourceImpl extends GroupableResourceCoreImpl implements AlertRuleResource, AlertRuleResource.Definition, AlertRuleResource.Update {
+ private AlertRuleResourcePatch updateParameter;
+ AlertRuleResourceImpl(String name, AlertRuleResourceInner inner, MonitorManager manager) {
+ super(name, inner, manager);
+ this.updateParameter = new AlertRuleResourcePatch();
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ AlertRulesInner client = this.manager().inner().alertRules();
+ return client.createOrUpdateAsync(this.resourceGroupName(), this.name(), this.inner())
+ .map(new Func1() {
+ @Override
+ public AlertRuleResourceInner call(AlertRuleResourceInner resource) {
+ resetCreateUpdateParameters();
+ return resource;
+ }
+ })
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ AlertRulesInner client = this.manager().inner().alertRules();
+ return client.updateAsync(this.resourceGroupName(), this.name(), this.updateParameter)
+ .map(new Func1() {
+ @Override
+ public AlertRuleResourceInner call(AlertRuleResourceInner resource) {
+ resetCreateUpdateParameters();
+ return resource;
+ }
+ })
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ AlertRulesInner client = this.manager().inner().alertRules();
+ return client.getByResourceGroupAsync(this.resourceGroupName(), this.name());
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+ private void resetCreateUpdateParameters() {
+ this.updateParameter = new AlertRuleResourcePatch();
+ }
+
+ @Override
+ public List actions() {
+ return this.inner().actions();
+ }
+
+ @Override
+ public String alertRuleResourceName() {
+ return this.inner().alertRuleResourceName();
+ }
+
+ @Override
+ public RuleCondition condition() {
+ return this.inner().condition();
+ }
+
+ @Override
+ public String description() {
+ return this.inner().description();
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return this.inner().isEnabled();
+ }
+
+ @Override
+ public DateTime lastUpdatedTime() {
+ return this.inner().lastUpdatedTime();
+ }
+
+ @Override
+ public AlertRuleResourceImpl withAlertRuleResourceName(String alertRuleResourceName) {
+ this.inner().withAlertRuleResourceName(alertRuleResourceName);
+ return this;
+ }
+
+ @Override
+ public AlertRuleResourceImpl withCondition(RuleCondition condition) {
+ this.inner().withCondition(condition);
+ return this;
+ }
+
+ @Override
+ public AlertRuleResourceImpl withIsEnabled(boolean isEnabled) {
+ this.inner().withIsEnabled(isEnabled);
+ return this;
+ }
+
+ @Override
+ public AlertRuleResourceImpl withActions(List actions) {
+ if (isInCreateMode()) {
+ this.inner().withActions(actions);
+ } else {
+ this.updateParameter.withActions(actions);
+ }
+ return this;
+ }
+
+ @Override
+ public AlertRuleResourceImpl withDescription(String description) {
+ if (isInCreateMode()) {
+ this.inner().withDescription(description);
+ } else {
+ this.updateParameter.withDescription(description);
+ }
+ return this;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleResourceInner.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleResourceInner.java
new file mode 100644
index 0000000000000..a1db57b2a0407
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRuleResourceInner.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01.implementation;
+
+import com.microsoft.azure.management.monitor.v2016_03_01.RuleCondition;
+import java.util.List;
+import com.microsoft.azure.management.monitor.v2016_03_01.RuleAction;
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.Resource;
+
+/**
+ * The alert rule resource.
+ */
+@JsonFlatten
+public class AlertRuleResourceInner extends Resource {
+ /**
+ * the name of the alert rule.
+ */
+ @JsonProperty(value = "properties.name", required = true)
+ private String alertRuleResourceName;
+
+ /**
+ * 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 DateTime lastUpdatedTime;
+
+ /**
+ * Get the name of the alert rule.
+ *
+ * @return the alertRuleResourceName value
+ */
+ public String alertRuleResourceName() {
+ return this.alertRuleResourceName;
+ }
+
+ /**
+ * Set the name of the alert rule.
+ *
+ * @param alertRuleResourceName the alertRuleResourceName value to set
+ * @return the AlertRuleResourceInner object itself.
+ */
+ public AlertRuleResourceInner withAlertRuleResourceName(String alertRuleResourceName) {
+ this.alertRuleResourceName = alertRuleResourceName;
+ return this;
+ }
+
+ /**
+ * Get 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 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 flag that indicates whether the alert rule is enabled.
+ *
+ * @return the isEnabled value
+ */
+ public boolean isEnabled() {
+ return this.isEnabled;
+ }
+
+ /**
+ * Set 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 that results in the alert rule being activated.
+ *
+ * @return the condition value
+ */
+ public RuleCondition condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set 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 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 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 last time the rule was updated in ISO8601 format.
+ *
+ * @return the lastUpdatedTime value
+ */
+ public DateTime lastUpdatedTime() {
+ return this.lastUpdatedTime;
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRulesImpl.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRulesImpl.java
new file mode 100644
index 0000000000000..95af065478529
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRulesImpl.java
@@ -0,0 +1,138 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * def
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01.implementation;
+
+import com.microsoft.azure.arm.resources.collection.implementation.GroupableResourcesCoreImpl;
+import com.microsoft.azure.management.monitor.v2016_03_01.AlertRules;
+import com.microsoft.azure.management.monitor.v2016_03_01.AlertRuleResource;
+import rx.Observable;
+import rx.Completable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import com.microsoft.azure.arm.resources.ResourceUtilsCore;
+import com.microsoft.azure.arm.utils.RXMapper;
+import rx.functions.Func1;
+import com.microsoft.azure.PagedList;
+import com.microsoft.azure.Page;
+
+class AlertRulesImpl extends GroupableResourcesCoreImpl implements AlertRules {
+ protected AlertRulesImpl(MonitorManager manager) {
+ super(manager.inner().alertRules(), manager);
+ }
+
+ @Override
+ protected Observable getInnerAsync(String resourceGroupName, String name) {
+ AlertRulesInner client = this.inner();
+ return client.getByResourceGroupAsync(resourceGroupName, name);
+ }
+
+ @Override
+ protected Completable deleteInnerAsync(String resourceGroupName, String name) {
+ AlertRulesInner client = this.inner();
+ return client.deleteAsync(resourceGroupName, name).toCompletable();
+ }
+
+ @Override
+ public Observable deleteByIdsAsync(Collection ids) {
+ if (ids == null || ids.isEmpty()) {
+ return Observable.empty();
+ }
+ Collection> observables = new ArrayList<>();
+ for (String id : ids) {
+ final String resourceGroupName = ResourceUtilsCore.groupFromResourceId(id);
+ final String name = ResourceUtilsCore.nameFromResourceId(id);
+ Observable o = RXMapper.map(this.inner().deleteAsync(resourceGroupName, name), id);
+ observables.add(o);
+ }
+ return Observable.mergeDelayError(observables);
+ }
+
+ @Override
+ public Observable deleteByIdsAsync(String...ids) {
+ return this.deleteByIdsAsync(new ArrayList(Arrays.asList(ids)));
+ }
+
+ @Override
+ public void deleteByIds(Collection ids) {
+ if (ids != null && !ids.isEmpty()) {
+ this.deleteByIdsAsync(ids).toBlocking().last();
+ }
+ }
+
+ @Override
+ public void deleteByIds(String...ids) {
+ this.deleteByIds(new ArrayList(Arrays.asList(ids)));
+ }
+
+ @Override
+ public PagedList listByResourceGroup(String resourceGroupName) {
+ AlertRulesInner client = this.inner();
+ return this.wrapList(client.listByResourceGroup(resourceGroupName));
+ }
+
+ @Override
+ public Observable listByResourceGroupAsync(String resourceGroupName) {
+ AlertRulesInner client = this.inner();
+ return client.listByResourceGroupAsync(resourceGroupName)
+ .flatMap(new Func1, Observable>() {
+ @Override
+ public Observable call(Page innerPage) {
+ return Observable.from(innerPage.items());
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public AlertRuleResource call(AlertRuleResourceInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public PagedList list() {
+ AlertRulesInner client = this.inner();
+ return this.wrapList(client.list());
+ }
+
+ @Override
+ public Observable listAsync() {
+ AlertRulesInner client = this.inner();
+ return client.listAsync()
+ .flatMap(new Func1, Observable>() {
+ @Override
+ public Observable call(Page innerPage) {
+ return Observable.from(innerPage.items());
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public AlertRuleResource call(AlertRuleResourceInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public AlertRuleResourceImpl define(String name) {
+ return wrapModel(name);
+ }
+
+ @Override
+ protected AlertRuleResourceImpl wrapModel(AlertRuleResourceInner inner) {
+ return new AlertRuleResourceImpl(inner.name(), inner, manager());
+ }
+
+ @Override
+ protected AlertRuleResourceImpl wrapModel(String name) {
+ return new AlertRuleResourceImpl(name, new AlertRuleResourceInner(), this.manager());
+ }
+
+}
diff --git a/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRulesInner.java b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRulesInner.java
new file mode 100644
index 0000000000000..24c740edde320
--- /dev/null
+++ b/monitor/resource-manager/v2016_03_01/src/main/java/com/microsoft/azure/management/monitor/v2016_03_01/implementation/AlertRulesInner.java
@@ -0,0 +1,624 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.monitor.v2016_03_01.implementation;
+
+import com.microsoft.azure.arm.collection.InnerSupportsGet;
+import com.microsoft.azure.arm.collection.InnerSupportsDelete;
+import com.microsoft.azure.arm.collection.InnerSupportsListing;
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.management.monitor.v2016_03_01.AlertRuleResourcePatch;
+import com.microsoft.azure.management.monitor.v2016_03_01.ErrorResponseException;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import com.microsoft.rest.Validator;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.HTTP;
+import retrofit2.http.PATCH;
+import retrofit2.http.Path;
+import retrofit2.http.PUT;
+import retrofit2.http.Query;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in AlertRules.
+ */
+public class AlertRulesInner implements InnerSupportsGet, InnerSupportsDelete, InnerSupportsListing {
+ /** The Retrofit service to perform REST calls. */
+ private AlertRulesService service;
+ /** The service client containing this operation class. */
+ private MonitorManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AlertRulesInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public AlertRulesInner(Retrofit retrofit, MonitorManagementClientImpl client) {
+ this.service = retrofit.create(AlertRulesService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AlertRules to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface AlertRulesService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2016_03_01.AlertRules createOrUpdate" })
+ @PUT("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}")
+ Observable> createOrUpdate(@Path("resourceGroupName") String resourceGroupName, @Path("ruleName") String ruleName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Body AlertRuleResourceInner parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2016_03_01.AlertRules delete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}", method = "DELETE", hasBody = true)
+ Observable> delete(@Path("resourceGroupName") String resourceGroupName, @Path("ruleName") String ruleName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2016_03_01.AlertRules getByResourceGroup" })
+ @GET("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}")
+ Observable> getByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("ruleName") String ruleName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2016_03_01.AlertRules update" })
+ @PATCH("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}")
+ Observable> update(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("ruleName") String ruleName, @Query("api-version") String apiVersion, @Body AlertRuleResourcePatch alertRulesResource, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2016_03_01.AlertRules listByResourceGroup" })
+ @GET("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules")
+ Observable> listByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.monitor.v2016_03_01.AlertRules list" })
+ @GET("subscriptions/{subscriptionId}/providers/microsoft.insights/alertrules")
+ Observable> list(@Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Creates or updates an 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 ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the AlertRuleResourceInner object if successful.
+ */
+ public AlertRuleResourceInner createOrUpdate(String resourceGroupName, String ruleName, AlertRuleResourceInner parameters) {
+ return createOrUpdateWithServiceResponseAsync(resourceGroupName, ruleName, parameters).toBlocking().single().body();
+ }
+
+ /**
+ * Creates or updates an 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 serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture createOrUpdateAsync(String resourceGroupName, String ruleName, AlertRuleResourceInner parameters, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceGroupName, ruleName, parameters), serviceCallback);
+ }
+
+ /**
+ * Creates or updates an 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
+ * @return the observable to the AlertRuleResourceInner object
+ */
+ public Observable createOrUpdateAsync(String resourceGroupName, String ruleName, AlertRuleResourceInner parameters) {
+ return createOrUpdateWithServiceResponseAsync(resourceGroupName, ruleName, parameters).map(new Func1, AlertRuleResourceInner>() {
+ @Override
+ public AlertRuleResourceInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Creates or updates an 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
+ * @return the observable to the AlertRuleResourceInner object
+ */
+ public Observable> createOrUpdateWithServiceResponseAsync(String resourceGroupName, String ruleName, AlertRuleResourceInner parameters) {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (ruleName == null) {
+ throw new IllegalArgumentException("Parameter ruleName is required and cannot be null.");
+ }
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ if (parameters == null) {
+ throw new IllegalArgumentException("Parameter parameters is required and cannot be null.");
+ }
+ Validator.validate(parameters);
+ return service.createOrUpdate(resourceGroupName, ruleName, this.client.subscriptionId(), this.client.apiVersion(), parameters, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = createOrUpdateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse createOrUpdateDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .register(201, new TypeToken() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Deletes 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 CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ */
+ public void delete(String resourceGroupName, String ruleName) {
+ deleteWithServiceResponseAsync(resourceGroupName, ruleName).toBlocking().single().body();
+ }
+
+ /**
+ * Deletes an alert rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ruleName The name of the rule.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture deleteAsync(String resourceGroupName, String ruleName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(deleteWithServiceResponseAsync(resourceGroupName, ruleName), serviceCallback);
+ }
+
+ /**
+ * Deletes 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
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public Observable deleteAsync(String resourceGroupName, String ruleName) {
+ return deleteWithServiceResponseAsync(resourceGroupName, ruleName).map(new Func1, Void>() {
+ @Override
+ public Void call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Deletes 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
+ * @return the {@link ServiceResponse} object if successful.
+ */
+ public Observable> deleteWithServiceResponseAsync(String resourceGroupName, String ruleName) {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (ruleName == null) {
+ throw new IllegalArgumentException("Parameter ruleName is required and cannot be null.");
+ }
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.delete(resourceGroupName, ruleName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = deleteDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse deleteDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken