diff --git a/sdk/resources/mgmt-v2019_08_01/pom.xml b/sdk/resources/mgmt-v2019_08_01/pom.xml
new file mode 100644
index 0000000000000..931b87f3d30b1
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/pom.xml
@@ -0,0 +1,135 @@
+
+
+ 4.0.0
+ com.microsoft.azure.resources.v2019_08_01
+
+ com.microsoft.azure
+ azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
+
+ azure-mgmt-resources
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for Resources Management
+ This package contains Microsoft Resources 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
+
+ 1.6.5
+
+
+
+
+
+ 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/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/AliasPathType.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/AliasPathType.java
new file mode 100644
index 0000000000000..28fc7588bddcb
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/AliasPathType.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.resources.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The type of the paths for alias.
+ */
+public class AliasPathType {
+ /**
+ * The path of an alias.
+ */
+ @JsonProperty(value = "path")
+ private String path;
+
+ /**
+ * The API versions.
+ */
+ @JsonProperty(value = "apiVersions")
+ private List apiVersions;
+
+ /**
+ * Get the path of an alias.
+ *
+ * @return the path value
+ */
+ public String path() {
+ return this.path;
+ }
+
+ /**
+ * Set the path of an alias.
+ *
+ * @param path the path value to set
+ * @return the AliasPathType object itself.
+ */
+ public AliasPathType withPath(String path) {
+ this.path = path;
+ return this;
+ }
+
+ /**
+ * Get the API versions.
+ *
+ * @return the apiVersions value
+ */
+ public List apiVersions() {
+ return this.apiVersions;
+ }
+
+ /**
+ * Set the API versions.
+ *
+ * @param apiVersions the apiVersions value to set
+ * @return the AliasPathType object itself.
+ */
+ public AliasPathType withApiVersions(List apiVersions) {
+ this.apiVersions = apiVersions;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/AliasType.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/AliasType.java
new file mode 100644
index 0000000000000..4da3513c0f808
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/AliasType.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.resources.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The alias type.
+ */
+public class AliasType {
+ /**
+ * The alias name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The paths for an alias.
+ */
+ @JsonProperty(value = "paths")
+ private List paths;
+
+ /**
+ * Get the alias name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the alias name.
+ *
+ * @param name the name value to set
+ * @return the AliasType object itself.
+ */
+ public AliasType withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the paths for an alias.
+ *
+ * @return the paths value
+ */
+ public List paths() {
+ return this.paths;
+ }
+
+ /**
+ * Set the paths for an alias.
+ *
+ * @param paths the paths value to set
+ * @return the AliasType object itself.
+ */
+ public AliasType withPaths(List paths) {
+ this.paths = paths;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/BasicDependency.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/BasicDependency.java
new file mode 100644
index 0000000000000..1fed8d57300d2
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/BasicDependency.java
@@ -0,0 +1,95 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment dependency information.
+ */
+public class BasicDependency {
+ /**
+ * The ID of the dependency.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * The dependency resource type.
+ */
+ @JsonProperty(value = "resourceType")
+ private String resourceType;
+
+ /**
+ * The dependency resource name.
+ */
+ @JsonProperty(value = "resourceName")
+ private String resourceName;
+
+ /**
+ * Get the ID of the dependency.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the ID of the dependency.
+ *
+ * @param id the id value to set
+ * @return the BasicDependency object itself.
+ */
+ public BasicDependency withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the dependency resource type.
+ *
+ * @return the resourceType value
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Set the dependency resource type.
+ *
+ * @param resourceType the resourceType value to set
+ * @return the BasicDependency object itself.
+ */
+ public BasicDependency withResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ return this;
+ }
+
+ /**
+ * Get the dependency resource name.
+ *
+ * @return the resourceName value
+ */
+ public String resourceName() {
+ return this.resourceName;
+ }
+
+ /**
+ * Set the dependency resource name.
+ *
+ * @param resourceName the resourceName value to set
+ * @return the BasicDependency object itself.
+ */
+ public BasicDependency withResourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ChangeType.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ChangeType.java
new file mode 100644
index 0000000000000..97f9d78872b32
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ChangeType.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ChangeType.
+ */
+public enum ChangeType {
+ /** The resource does not exist in the current state but is present in the desired state. The resource will be created when the deployment is executed. */
+ CREATE("Create"),
+
+ /** The resource exists in the current state and is missing from the desired state. The resource will be deleted when the deployment is executed. */
+ DELETE("Delete"),
+
+ /** The resource exists in the current state and is missing from the desired state. The resource will not be deployed or modified when the deployment is executed. */
+ IGNORE("Ignore"),
+
+ /** The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource may or may not change. */
+ DEPLOY("Deploy"),
+
+ /** The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will not change. */
+ NO_CHANGE("NoChange"),
+
+ /** The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will change. */
+ MODIFY("Modify");
+
+ /** The actual serialized value for a ChangeType instance. */
+ private String value;
+
+ ChangeType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ChangeType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ChangeType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ChangeType fromString(String value) {
+ ChangeType[] items = ChangeType.values();
+ for (ChangeType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DebugSetting.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DebugSetting.java
new file mode 100644
index 0000000000000..fe4c3762ff24e
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DebugSetting.java
@@ -0,0 +1,49 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The debug setting.
+ */
+public class DebugSetting {
+ /**
+ * Specifies the type of information to log for debugging. The permitted
+ * values are none, requestContent, responseContent, or both requestContent
+ * and responseContent separated by a comma. The default is none. When
+ * setting this value, carefully consider the type of information you are
+ * passing in during deployment. By logging information about the request
+ * or response, you could potentially expose sensitive data that is
+ * retrieved through the deployment operations.
+ */
+ @JsonProperty(value = "detailLevel")
+ private String detailLevel;
+
+ /**
+ * Get specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations.
+ *
+ * @return the detailLevel value
+ */
+ public String detailLevel() {
+ return this.detailLevel;
+ }
+
+ /**
+ * Set specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations.
+ *
+ * @param detailLevel the detailLevel value to set
+ * @return the DebugSetting object itself.
+ */
+ public DebugSetting withDetailLevel(String detailLevel) {
+ this.detailLevel = detailLevel;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Dependency.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Dependency.java
new file mode 100644
index 0000000000000..e982cf818267e
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Dependency.java
@@ -0,0 +1,122 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment dependency information.
+ */
+public class Dependency {
+ /**
+ * The list of dependencies.
+ */
+ @JsonProperty(value = "dependsOn")
+ private List dependsOn;
+
+ /**
+ * The ID of the dependency.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * The dependency resource type.
+ */
+ @JsonProperty(value = "resourceType")
+ private String resourceType;
+
+ /**
+ * The dependency resource name.
+ */
+ @JsonProperty(value = "resourceName")
+ private String resourceName;
+
+ /**
+ * Get the list of dependencies.
+ *
+ * @return the dependsOn value
+ */
+ public List dependsOn() {
+ return this.dependsOn;
+ }
+
+ /**
+ * Set the list of dependencies.
+ *
+ * @param dependsOn the dependsOn value to set
+ * @return the Dependency object itself.
+ */
+ public Dependency withDependsOn(List dependsOn) {
+ this.dependsOn = dependsOn;
+ return this;
+ }
+
+ /**
+ * Get the ID of the dependency.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the ID of the dependency.
+ *
+ * @param id the id value to set
+ * @return the Dependency object itself.
+ */
+ public Dependency withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the dependency resource type.
+ *
+ * @return the resourceType value
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Set the dependency resource type.
+ *
+ * @param resourceType the resourceType value to set
+ * @return the Dependency object itself.
+ */
+ public Dependency withResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ return this;
+ }
+
+ /**
+ * Get the dependency resource name.
+ *
+ * @return the resourceName value
+ */
+ public String resourceName() {
+ return this.resourceName;
+ }
+
+ /**
+ * Set the dependency resource name.
+ *
+ * @param resourceName the resourceName value to set
+ * @return the Dependency object itself.
+ */
+ public Dependency withResourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExportResult.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExportResult.java
new file mode 100644
index 0000000000000..b0bf985aae606
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExportResult.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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.DeploymentExportResultInner;
+
+/**
+ * Type representing DeploymentExportResult.
+ */
+public interface DeploymentExportResult extends HasInner, HasManager {
+ /**
+ * @return the template value.
+ */
+ Object template();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExtended.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExtended.java
new file mode 100644
index 0000000000000..c466e9139c99f
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExtended.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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.DeploymentExtendedInner;
+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.resources.v2019_08_01.implementation.ResourcesManager;
+
+/**
+ * Type representing DeploymentExtended.
+ */
+public interface DeploymentExtended extends HasInner, Indexable, Updatable, Refreshable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ DeploymentPropertiesExtended properties();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the DeploymentExtended definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithResourceGroupName, DefinitionStages.WithProperties, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of DeploymentExtended definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a DeploymentExtended definition.
+ */
+ interface Blank extends WithResourceGroupName {
+ }
+
+ /**
+ * The stage of the deploymentextended definition allowing to specify ResourceGroupName.
+ */
+ interface WithResourceGroupName {
+ /**
+ * Specifies resourceGroupName.
+ * @param resourceGroupName The name of the resource group to deploy the resources to. The name is case insensitive. The resource group must already exist
+ * @return the next definition stage
+ */
+ WithProperties withResourceGroupName(String resourceGroupName);
+ }
+
+ /**
+ * The stage of the deploymentextended definition allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties The deployment properties
+ * @return the next definition stage
+ */
+ WithCreate withProperties(DeploymentProperties properties);
+ }
+
+ /**
+ * The stage of the deploymentextended definition allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ * @param location The location to store the deployment data
+ * @return the next definition stage
+ */
+ WithCreate withLocation(String location);
+ }
+
+ /**
+ * 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.WithLocation {
+ }
+ }
+ /**
+ * The template for a DeploymentExtended update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithLocation {
+ }
+
+ /**
+ * Grouping of DeploymentExtended update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the deploymentextended update allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ * @param location The location to store the deployment data
+ * @return the next update stage
+ */
+ Update withLocation(String location);
+ }
+
+ }
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExtendedFilter.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExtendedFilter.java
new file mode 100644
index 0000000000000..e869108382778
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentExtendedFilter.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment filter.
+ */
+public class DeploymentExtendedFilter {
+ /**
+ * The provisioning state.
+ */
+ @JsonProperty(value = "provisioningState")
+ private String provisioningState;
+
+ /**
+ * Get the provisioning state.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Set the provisioning state.
+ *
+ * @param provisioningState the provisioningState value to set
+ * @return the DeploymentExtendedFilter object itself.
+ */
+ public DeploymentExtendedFilter withProvisioningState(String provisioningState) {
+ this.provisioningState = provisioningState;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentMode.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentMode.java
new file mode 100644
index 0000000000000..eddbb422c2450
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentMode.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for DeploymentMode.
+ */
+public enum DeploymentMode {
+ /** Enum value Incremental. */
+ INCREMENTAL("Incremental"),
+
+ /** Enum value Complete. */
+ COMPLETE("Complete");
+
+ /** The actual serialized value for a DeploymentMode instance. */
+ private String value;
+
+ DeploymentMode(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a DeploymentMode instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed DeploymentMode object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static DeploymentMode fromString(String value) {
+ DeploymentMode[] items = DeploymentMode.values();
+ for (DeploymentMode item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperation.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperation.java
new file mode 100644
index 0000000000000..48e05cff2b847
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperation.java
@@ -0,0 +1,37 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.DeploymentOperationInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+
+/**
+ * Type representing DeploymentOperation.
+ */
+public interface DeploymentOperation extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the operationId value.
+ */
+ String operationId();
+
+ /**
+ * @return the properties value.
+ */
+ DeploymentOperationProperties properties();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperationProperties.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperationProperties.java
new file mode 100644
index 0000000000000..9c08bbe6812d6
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperationProperties.java
@@ -0,0 +1,153 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment operation properties.
+ */
+public class DeploymentOperationProperties {
+ /**
+ * The state of the provisioning.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * The date and time of the operation.
+ */
+ @JsonProperty(value = "timestamp", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime timestamp;
+
+ /**
+ * The duration of the operation.
+ */
+ @JsonProperty(value = "duration", access = JsonProperty.Access.WRITE_ONLY)
+ private String duration;
+
+ /**
+ * Deployment operation service request id.
+ */
+ @JsonProperty(value = "serviceRequestId", access = JsonProperty.Access.WRITE_ONLY)
+ private String serviceRequestId;
+
+ /**
+ * Operation status code.
+ */
+ @JsonProperty(value = "statusCode", access = JsonProperty.Access.WRITE_ONLY)
+ private String statusCode;
+
+ /**
+ * Operation status message.
+ */
+ @JsonProperty(value = "statusMessage", access = JsonProperty.Access.WRITE_ONLY)
+ private Object statusMessage;
+
+ /**
+ * The target resource.
+ */
+ @JsonProperty(value = "targetResource", access = JsonProperty.Access.WRITE_ONLY)
+ private TargetResource targetResource;
+
+ /**
+ * The HTTP request message.
+ */
+ @JsonProperty(value = "request", access = JsonProperty.Access.WRITE_ONLY)
+ private HttpMessage request;
+
+ /**
+ * The HTTP response message.
+ */
+ @JsonProperty(value = "response", access = JsonProperty.Access.WRITE_ONLY)
+ private HttpMessage response;
+
+ /**
+ * Get the state of the provisioning.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the date and time of the operation.
+ *
+ * @return the timestamp value
+ */
+ public DateTime timestamp() {
+ return this.timestamp;
+ }
+
+ /**
+ * Get the duration of the operation.
+ *
+ * @return the duration value
+ */
+ public String duration() {
+ return this.duration;
+ }
+
+ /**
+ * Get deployment operation service request id.
+ *
+ * @return the serviceRequestId value
+ */
+ public String serviceRequestId() {
+ return this.serviceRequestId;
+ }
+
+ /**
+ * Get operation status code.
+ *
+ * @return the statusCode value
+ */
+ public String statusCode() {
+ return this.statusCode;
+ }
+
+ /**
+ * Get operation status message.
+ *
+ * @return the statusMessage value
+ */
+ public Object statusMessage() {
+ return this.statusMessage;
+ }
+
+ /**
+ * Get the target resource.
+ *
+ * @return the targetResource value
+ */
+ public TargetResource targetResource() {
+ return this.targetResource;
+ }
+
+ /**
+ * Get the HTTP request message.
+ *
+ * @return the request value
+ */
+ public HttpMessage request() {
+ return this.request;
+ }
+
+ /**
+ * Get the HTTP response message.
+ *
+ * @return the response value
+ */
+ public HttpMessage response() {
+ return this.response;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperations.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperations.java
new file mode 100644
index 0000000000000..efeadbee4186d
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentOperations.java
@@ -0,0 +1,120 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.DeploymentOperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing DeploymentOperations.
+ */
+public interface DeploymentOperations extends HasInner {
+ /**
+ * Gets a deployments operation.
+ *
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtTenantScopeAsync(String deploymentName, String operationId);
+
+ /**
+ * Gets all deployments operations for a deployment.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAtTenantScopeAsync(final String deploymentName);
+
+ /**
+ * Gets a deployments operation.
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtManagementGroupScopeAsync(String groupId, String deploymentName, String operationId);
+
+ /**
+ * Gets all deployments operations for a deployment.
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAtManagementGroupScopeAsync(final String groupId, final String deploymentName);
+
+ /**
+ * Gets a deployments operation.
+ *
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtSubscriptionScopeAsync(String deploymentName, String operationId);
+
+ /**
+ * Gets all deployments operations for a deployment.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAtSubscriptionScopeAsync(final String deploymentName);
+
+ /**
+ * Gets a deployments operation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String deploymentName, String operationId);
+
+ /**
+ * Gets all deployments operations for a deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByResourceGroupAsync(final String resourceGroupName, final String deploymentName);
+
+ /**
+ * Gets a deployments operation.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtScopeAsync(String scope, String deploymentName, String operationId);
+
+ /**
+ * Gets all deployments operations for a deployment.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAtScopeAsync(final String scope, final String deploymentName);
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentProperties.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentProperties.java
new file mode 100644
index 0000000000000..10325e03815ac
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentProperties.java
@@ -0,0 +1,216 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment properties.
+ */
+public class DeploymentProperties {
+ /**
+ * The template content. You use this element when you want to pass the
+ * template syntax directly in the request rather than link to an existing
+ * template. It can be a JObject or well-formed JSON string. Use either the
+ * templateLink property or the template property, but not both.
+ */
+ @JsonProperty(value = "template")
+ private Object template;
+
+ /**
+ * The URI of the template. Use either the templateLink property or the
+ * template property, but not both.
+ */
+ @JsonProperty(value = "templateLink")
+ private TemplateLink templateLink;
+
+ /**
+ * Name and value pairs that define the deployment parameters for the
+ * template. You use this element when you want to provide the parameter
+ * values directly in the request rather than link to an existing parameter
+ * file. Use either the parametersLink property or the parameters property,
+ * but not both. It can be a JObject or a well formed JSON string.
+ */
+ @JsonProperty(value = "parameters")
+ private Object parameters;
+
+ /**
+ * The URI of parameters file. You use this element to link to an existing
+ * parameters file. Use either the parametersLink property or the
+ * parameters property, but not both.
+ */
+ @JsonProperty(value = "parametersLink")
+ private ParametersLink parametersLink;
+
+ /**
+ * The mode that is used to deploy resources. This value can be either
+ * Incremental or Complete. In Incremental mode, resources are deployed
+ * without deleting existing resources that are not included in the
+ * template. In Complete mode, resources are deployed and existing
+ * resources in the resource group that are not included in the template
+ * are deleted. Be careful when using Complete mode as you may
+ * unintentionally delete resources. Possible values include:
+ * 'Incremental', 'Complete'.
+ */
+ @JsonProperty(value = "mode", required = true)
+ private DeploymentMode mode;
+
+ /**
+ * The debug setting of the deployment.
+ */
+ @JsonProperty(value = "debugSetting")
+ private DebugSetting debugSetting;
+
+ /**
+ * The deployment on error behavior.
+ */
+ @JsonProperty(value = "onErrorDeployment")
+ private OnErrorDeployment onErrorDeployment;
+
+ /**
+ * Get the template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both.
+ *
+ * @return the template value
+ */
+ public Object template() {
+ return this.template;
+ }
+
+ /**
+ * Set the template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both.
+ *
+ * @param template the template value to set
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withTemplate(Object template) {
+ this.template = template;
+ return this;
+ }
+
+ /**
+ * Get the URI of the template. Use either the templateLink property or the template property, but not both.
+ *
+ * @return the templateLink value
+ */
+ public TemplateLink templateLink() {
+ return this.templateLink;
+ }
+
+ /**
+ * Set the URI of the template. Use either the templateLink property or the template property, but not both.
+ *
+ * @param templateLink the templateLink value to set
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withTemplateLink(TemplateLink templateLink) {
+ this.templateLink = templateLink;
+ return this;
+ }
+
+ /**
+ * Get name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string.
+ *
+ * @return the parameters value
+ */
+ public Object parameters() {
+ return this.parameters;
+ }
+
+ /**
+ * Set name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string.
+ *
+ * @param parameters the parameters value to set
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withParameters(Object parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ /**
+ * Get the URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both.
+ *
+ * @return the parametersLink value
+ */
+ public ParametersLink parametersLink() {
+ return this.parametersLink;
+ }
+
+ /**
+ * Set the URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both.
+ *
+ * @param parametersLink the parametersLink value to set
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withParametersLink(ParametersLink parametersLink) {
+ this.parametersLink = parametersLink;
+ return this;
+ }
+
+ /**
+ * Get the mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources. Possible values include: 'Incremental', 'Complete'.
+ *
+ * @return the mode value
+ */
+ public DeploymentMode mode() {
+ return this.mode;
+ }
+
+ /**
+ * Set the mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources. Possible values include: 'Incremental', 'Complete'.
+ *
+ * @param mode the mode value to set
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withMode(DeploymentMode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+ /**
+ * Get the debug setting of the deployment.
+ *
+ * @return the debugSetting value
+ */
+ public DebugSetting debugSetting() {
+ return this.debugSetting;
+ }
+
+ /**
+ * Set the debug setting of the deployment.
+ *
+ * @param debugSetting the debugSetting value to set
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withDebugSetting(DebugSetting debugSetting) {
+ this.debugSetting = debugSetting;
+ return this;
+ }
+
+ /**
+ * Get the deployment on error behavior.
+ *
+ * @return the onErrorDeployment value
+ */
+ public OnErrorDeployment onErrorDeployment() {
+ return this.onErrorDeployment;
+ }
+
+ /**
+ * Set the deployment on error behavior.
+ *
+ * @param onErrorDeployment the onErrorDeployment value to set
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withOnErrorDeployment(OnErrorDeployment onErrorDeployment) {
+ this.onErrorDeployment = onErrorDeployment;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentPropertiesExtended.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentPropertiesExtended.java
new file mode 100644
index 0000000000000..5a817e2b6e9c5
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentPropertiesExtended.java
@@ -0,0 +1,343 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import org.joda.time.DateTime;
+import java.util.List;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ProviderInner;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment properties with additional details.
+ */
+public class DeploymentPropertiesExtended {
+ /**
+ * The state of the provisioning.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * The correlation ID of the deployment.
+ */
+ @JsonProperty(value = "correlationId", access = JsonProperty.Access.WRITE_ONLY)
+ private String correlationId;
+
+ /**
+ * The timestamp of the template deployment.
+ */
+ @JsonProperty(value = "timestamp", access = JsonProperty.Access.WRITE_ONLY)
+ private DateTime timestamp;
+
+ /**
+ * The duration of the template deployment.
+ */
+ @JsonProperty(value = "duration", access = JsonProperty.Access.WRITE_ONLY)
+ private String duration;
+
+ /**
+ * Key/value pairs that represent deployment output.
+ */
+ @JsonProperty(value = "outputs")
+ private Object outputs;
+
+ /**
+ * The list of resource providers needed for the deployment.
+ */
+ @JsonProperty(value = "providers")
+ private List providers;
+
+ /**
+ * The list of deployment dependencies.
+ */
+ @JsonProperty(value = "dependencies")
+ private List dependencies;
+
+ /**
+ * The template content. Use only one of Template or TemplateLink.
+ */
+ @JsonProperty(value = "template")
+ private Object template;
+
+ /**
+ * The URI referencing the template. Use only one of Template or
+ * TemplateLink.
+ */
+ @JsonProperty(value = "templateLink")
+ private TemplateLink templateLink;
+
+ /**
+ * Deployment parameters. Use only one of Parameters or ParametersLink.
+ */
+ @JsonProperty(value = "parameters")
+ private Object parameters;
+
+ /**
+ * The URI referencing the parameters. Use only one of Parameters or
+ * ParametersLink.
+ */
+ @JsonProperty(value = "parametersLink")
+ private ParametersLink parametersLink;
+
+ /**
+ * The deployment mode. Possible values are Incremental and Complete.
+ * Possible values include: 'Incremental', 'Complete'.
+ */
+ @JsonProperty(value = "mode")
+ private DeploymentMode mode;
+
+ /**
+ * The debug setting of the deployment.
+ */
+ @JsonProperty(value = "debugSetting")
+ private DebugSetting debugSetting;
+
+ /**
+ * The deployment on error behavior.
+ */
+ @JsonProperty(value = "onErrorDeployment")
+ private OnErrorDeploymentExtended onErrorDeployment;
+
+ /**
+ * Get the state of the provisioning.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the correlation ID of the deployment.
+ *
+ * @return the correlationId value
+ */
+ public String correlationId() {
+ return this.correlationId;
+ }
+
+ /**
+ * Get the timestamp of the template deployment.
+ *
+ * @return the timestamp value
+ */
+ public DateTime timestamp() {
+ return this.timestamp;
+ }
+
+ /**
+ * Get the duration of the template deployment.
+ *
+ * @return the duration value
+ */
+ public String duration() {
+ return this.duration;
+ }
+
+ /**
+ * Get key/value pairs that represent deployment output.
+ *
+ * @return the outputs value
+ */
+ public Object outputs() {
+ return this.outputs;
+ }
+
+ /**
+ * Set key/value pairs that represent deployment output.
+ *
+ * @param outputs the outputs value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withOutputs(Object outputs) {
+ this.outputs = outputs;
+ return this;
+ }
+
+ /**
+ * Get the list of resource providers needed for the deployment.
+ *
+ * @return the providers value
+ */
+ public List providers() {
+ return this.providers;
+ }
+
+ /**
+ * Set the list of resource providers needed for the deployment.
+ *
+ * @param providers the providers value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withProviders(List providers) {
+ this.providers = providers;
+ return this;
+ }
+
+ /**
+ * Get the list of deployment dependencies.
+ *
+ * @return the dependencies value
+ */
+ public List dependencies() {
+ return this.dependencies;
+ }
+
+ /**
+ * Set the list of deployment dependencies.
+ *
+ * @param dependencies the dependencies value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withDependencies(List dependencies) {
+ this.dependencies = dependencies;
+ return this;
+ }
+
+ /**
+ * Get the template content. Use only one of Template or TemplateLink.
+ *
+ * @return the template value
+ */
+ public Object template() {
+ return this.template;
+ }
+
+ /**
+ * Set the template content. Use only one of Template or TemplateLink.
+ *
+ * @param template the template value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withTemplate(Object template) {
+ this.template = template;
+ return this;
+ }
+
+ /**
+ * Get the URI referencing the template. Use only one of Template or TemplateLink.
+ *
+ * @return the templateLink value
+ */
+ public TemplateLink templateLink() {
+ return this.templateLink;
+ }
+
+ /**
+ * Set the URI referencing the template. Use only one of Template or TemplateLink.
+ *
+ * @param templateLink the templateLink value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withTemplateLink(TemplateLink templateLink) {
+ this.templateLink = templateLink;
+ return this;
+ }
+
+ /**
+ * Get deployment parameters. Use only one of Parameters or ParametersLink.
+ *
+ * @return the parameters value
+ */
+ public Object parameters() {
+ return this.parameters;
+ }
+
+ /**
+ * Set deployment parameters. Use only one of Parameters or ParametersLink.
+ *
+ * @param parameters the parameters value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withParameters(Object parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ /**
+ * Get the URI referencing the parameters. Use only one of Parameters or ParametersLink.
+ *
+ * @return the parametersLink value
+ */
+ public ParametersLink parametersLink() {
+ return this.parametersLink;
+ }
+
+ /**
+ * Set the URI referencing the parameters. Use only one of Parameters or ParametersLink.
+ *
+ * @param parametersLink the parametersLink value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withParametersLink(ParametersLink parametersLink) {
+ this.parametersLink = parametersLink;
+ return this;
+ }
+
+ /**
+ * Get the deployment mode. Possible values are Incremental and Complete. Possible values include: 'Incremental', 'Complete'.
+ *
+ * @return the mode value
+ */
+ public DeploymentMode mode() {
+ return this.mode;
+ }
+
+ /**
+ * Set the deployment mode. Possible values are Incremental and Complete. Possible values include: 'Incremental', 'Complete'.
+ *
+ * @param mode the mode value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withMode(DeploymentMode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+ /**
+ * Get the debug setting of the deployment.
+ *
+ * @return the debugSetting value
+ */
+ public DebugSetting debugSetting() {
+ return this.debugSetting;
+ }
+
+ /**
+ * Set the debug setting of the deployment.
+ *
+ * @param debugSetting the debugSetting value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withDebugSetting(DebugSetting debugSetting) {
+ this.debugSetting = debugSetting;
+ return this;
+ }
+
+ /**
+ * Get the deployment on error behavior.
+ *
+ * @return the onErrorDeployment value
+ */
+ public OnErrorDeploymentExtended onErrorDeployment() {
+ return this.onErrorDeployment;
+ }
+
+ /**
+ * Set the deployment on error behavior.
+ *
+ * @param onErrorDeployment the onErrorDeployment value to set
+ * @return the DeploymentPropertiesExtended object itself.
+ */
+ public DeploymentPropertiesExtended withOnErrorDeployment(OnErrorDeploymentExtended onErrorDeployment) {
+ this.onErrorDeployment = onErrorDeployment;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentValidateResult.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentValidateResult.java
new file mode 100644
index 0000000000000..6683df7cfef18
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentValidateResult.java
@@ -0,0 +1,30 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.DeploymentValidateResultInner;
+
+/**
+ * Type representing DeploymentValidateResult.
+ */
+public interface DeploymentValidateResult extends HasInner, HasManager {
+ /**
+ * @return the error value.
+ */
+ ErrorResponse error();
+
+ /**
+ * @return the properties value.
+ */
+ DeploymentPropertiesExtended properties();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIf.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIf.java
new file mode 100644
index 0000000000000..86f65353bf2dd
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIf.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment What-if operation parameters.
+ */
+public class DeploymentWhatIf {
+ /**
+ * The location to store the deployment data.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * The deployment properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private DeploymentWhatIfProperties properties;
+
+ /**
+ * Get the location to store the deployment data.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location to store the deployment data.
+ *
+ * @param location the location value to set
+ * @return the DeploymentWhatIf object itself.
+ */
+ public DeploymentWhatIf withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the deployment properties.
+ *
+ * @return the properties value
+ */
+ public DeploymentWhatIfProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the deployment properties.
+ *
+ * @param properties the properties value to set
+ * @return the DeploymentWhatIf object itself.
+ */
+ public DeploymentWhatIf withProperties(DeploymentWhatIfProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIfProperties.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIfProperties.java
new file mode 100644
index 0000000000000..a22ad0a335dd9
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIfProperties.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment What-if properties.
+ */
+public class DeploymentWhatIfProperties extends DeploymentProperties {
+ /**
+ * Optional What-If operation settings.
+ */
+ @JsonProperty(value = "whatIfSettings")
+ private DeploymentWhatIfSettings whatIfSettings;
+
+ /**
+ * Get optional What-If operation settings.
+ *
+ * @return the whatIfSettings value
+ */
+ public DeploymentWhatIfSettings whatIfSettings() {
+ return this.whatIfSettings;
+ }
+
+ /**
+ * Set optional What-If operation settings.
+ *
+ * @param whatIfSettings the whatIfSettings value to set
+ * @return the DeploymentWhatIfProperties object itself.
+ */
+ public DeploymentWhatIfProperties withWhatIfSettings(DeploymentWhatIfSettings whatIfSettings) {
+ this.whatIfSettings = whatIfSettings;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIfSettings.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIfSettings.java
new file mode 100644
index 0000000000000..9ae28a0db8779
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentWhatIfSettings.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment What-If operation settings.
+ */
+public class DeploymentWhatIfSettings {
+ /**
+ * The format of the What-If results. Possible values include:
+ * 'ResourceIdOnly', 'FullResourcePayloads'.
+ */
+ @JsonProperty(value = "resultFormat")
+ private WhatIfResultFormat resultFormat;
+
+ /**
+ * Get the format of the What-If results. Possible values include: 'ResourceIdOnly', 'FullResourcePayloads'.
+ *
+ * @return the resultFormat value
+ */
+ public WhatIfResultFormat resultFormat() {
+ return this.resultFormat;
+ }
+
+ /**
+ * Set the format of the What-If results. Possible values include: 'ResourceIdOnly', 'FullResourcePayloads'.
+ *
+ * @param resultFormat the resultFormat value to set
+ * @return the DeploymentWhatIfSettings object itself.
+ */
+ public DeploymentWhatIfSettings withResultFormat(WhatIfResultFormat resultFormat) {
+ this.resultFormat = resultFormat;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Deployments.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Deployments.java
new file mode 100644
index 0000000000000..a7ff377906957
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Deployments.java
@@ -0,0 +1,411 @@
+/**
+ * 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.resources.v2019_08_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 rx.Completable;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.DeploymentInner;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.DeploymentsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Deployments.
+ */
+public interface Deployments extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Deletes a deployment from the deployment history.
+ * A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAtScopeAsync(String scope, String deploymentName);
+
+ /**
+ * Checks whether the deployment exists.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkExistenceAtScopeAsync(String scope, String deploymentName);
+
+ /**
+ * Deploys resources at a given scope.
+ * You can provide the template and parameters directly in the request or link to JSON files.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @param parameters Additional parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateAtScopeAsync(String scope, String deploymentName, DeploymentInner parameters);
+
+ /**
+ * Gets a deployment.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtScopeAsync(String scope, String deploymentName);
+
+ /**
+ * Cancels a currently running template deployment.
+ * You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable cancelAtScopeAsync(String scope, String deploymentName);
+
+ /**
+ * Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @param parameters Parameters to validate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable validateAtScopeAsync(String scope, String deploymentName, DeploymentInner parameters);
+
+ /**
+ * Exports the template used for specified deployment.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable exportTemplateAtScopeAsync(String scope, String deploymentName);
+
+ /**
+ * Deletes a deployment from the deployment history.
+ * A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAtTenantScopeAsync(String deploymentName);
+
+ /**
+ * Checks whether the deployment exists.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkExistenceAtTenantScopeAsync(String deploymentName);
+
+ /**
+ * Deploys resources at tenant scope.
+ * You can provide the template and parameters directly in the request or link to JSON files.
+ *
+ * @param deploymentName The name of the deployment.
+ * @param parameters Additional parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateAtTenantScopeAsync(String deploymentName, ScopedDeployment parameters);
+
+ /**
+ * Gets a deployment.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtTenantScopeAsync(String deploymentName);
+
+ /**
+ * Cancels a currently running template deployment.
+ * You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable cancelAtTenantScopeAsync(String deploymentName);
+
+ /**
+ * Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
+ *
+ * @param deploymentName The name of the deployment.
+ * @param parameters Parameters to validate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable validateAtTenantScopeAsync(String deploymentName, ScopedDeployment parameters);
+
+ /**
+ * Exports the template used for specified deployment.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable exportTemplateAtTenantScopeAsync(String deploymentName);
+
+ /**
+ * Deletes a deployment from the deployment history.
+ * A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAtManagementGroupScopeAsync(String groupId, String deploymentName);
+
+ /**
+ * Checks whether the deployment exists.
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkExistenceAtManagementGroupScopeAsync(String groupId, String deploymentName);
+
+ /**
+ * Deploys resources at management group scope.
+ * You can provide the template and parameters directly in the request or link to JSON files.
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @param parameters Additional parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateAtManagementGroupScopeAsync(String groupId, String deploymentName, ScopedDeployment parameters);
+
+ /**
+ * Gets a deployment.
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtManagementGroupScopeAsync(String groupId, String deploymentName);
+
+ /**
+ * Cancels a currently running template deployment.
+ * You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable cancelAtManagementGroupScopeAsync(String groupId, String deploymentName);
+
+ /**
+ * Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @param parameters Parameters to validate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable validateAtManagementGroupScopeAsync(String groupId, String deploymentName, ScopedDeployment parameters);
+
+ /**
+ * Exports the template used for specified deployment.
+ *
+ * @param groupId The management group ID.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable exportTemplateAtManagementGroupScopeAsync(String groupId, String deploymentName);
+
+ /**
+ * Get all the deployments for a management group.
+ *
+ * @param groupId The management group ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAtManagementGroupScopeAsync(final String groupId);
+
+ /**
+ * Deletes a deployment from the deployment history.
+ * A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAtSubscriptionScopeAsync(String deploymentName);
+
+ /**
+ * Checks whether the deployment exists.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkExistenceAtSubscriptionScopeAsync(String deploymentName);
+
+ /**
+ * Deploys resources at subscription scope.
+ * You can provide the template and parameters directly in the request or link to JSON files.
+ *
+ * @param deploymentName The name of the deployment.
+ * @param parameters Additional parameters supplied to the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateAtSubscriptionScopeAsync(String deploymentName, DeploymentInner parameters);
+
+ /**
+ * Gets a deployment.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtSubscriptionScopeAsync(String deploymentName);
+
+ /**
+ * Cancels a currently running template deployment.
+ * You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable cancelAtSubscriptionScopeAsync(String deploymentName);
+
+ /**
+ * Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
+ *
+ * @param deploymentName The name of the deployment.
+ * @param parameters Parameters to validate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable validateAtSubscriptionScopeAsync(String deploymentName, DeploymentInner parameters);
+
+ /**
+ * Returns changes that will be made by the deployment if executed at the scope of the subscription.
+ *
+ * @param deploymentName The name of the deployment.
+ * @param parameters Parameters to What If.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable whatIfAtSubscriptionScopeAsync(String deploymentName, DeploymentWhatIf parameters);
+
+ /**
+ * Exports the template used for specified deployment.
+ *
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable exportTemplateAtSubscriptionScopeAsync(String deploymentName);
+
+ /**
+ * Checks whether the deployment exists.
+ *
+ * @param resourceGroupName The name of the resource group with the deployment to check. The name is case insensitive.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkExistenceAsync(String resourceGroupName, String deploymentName);
+
+ /**
+ * Cancels a currently running template deployment.
+ * You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resource group partially deployed.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable cancelAsync(String resourceGroupName, String deploymentName);
+
+ /**
+ * Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..
+ *
+ * @param resourceGroupName The name of the resource group the template will be deployed to. The name is case insensitive.
+ * @param deploymentName The name of the deployment.
+ * @param parameters Parameters to validate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable validateAsync(String resourceGroupName, String deploymentName, DeploymentInner parameters);
+
+ /**
+ * Returns changes that will be made by the deployment if executed at the scope of the resource group.
+ *
+ * @param resourceGroupName The name of the resource group the template will be deployed to. The name is case insensitive.
+ * @param deploymentName The name of the deployment.
+ * @param parameters Parameters to validate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable whatIfAsync(String resourceGroupName, String deploymentName, DeploymentWhatIf parameters);
+
+ /**
+ * Exports the template used for specified deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param deploymentName The name of the deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable exportTemplateAsync(String resourceGroupName, String deploymentName);
+
+ /**
+ * Get all the deployments at the given scope.
+ *
+ * @param scope The scope of a deployment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAtScopeAsync(final String scope);
+
+ /**
+ * Get all the deployments at the tenant scope.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAtTenantScopeAsync();
+
+ /**
+ * Calculate the hash of the given template.
+ *
+ * @param template The template provided to calculate hash.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable calculateTemplateHashAsync(Object template);
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentsWhatIfAtSubscriptionScopeHeaders.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentsWhatIfAtSubscriptionScopeHeaders.java
new file mode 100644
index 0000000000000..8d04c997c81c5
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentsWhatIfAtSubscriptionScopeHeaders.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for WhatIfAtSubscriptionScope operation.
+ */
+public class DeploymentsWhatIfAtSubscriptionScopeHeaders {
+ /**
+ * URL to get status of this long-running operation.
+ */
+ @JsonProperty(value = "Location")
+ private String location;
+
+ /**
+ * Number of seconds to wait before polling for status.
+ */
+ @JsonProperty(value = "Retry-After")
+ private String retryAfter;
+
+ /**
+ * Get uRL to get status of this long-running operation.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set uRL to get status of this long-running operation.
+ *
+ * @param location the location value to set
+ * @return the DeploymentsWhatIfAtSubscriptionScopeHeaders object itself.
+ */
+ public DeploymentsWhatIfAtSubscriptionScopeHeaders withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get number of seconds to wait before polling for status.
+ *
+ * @return the retryAfter value
+ */
+ public String retryAfter() {
+ return this.retryAfter;
+ }
+
+ /**
+ * Set number of seconds to wait before polling for status.
+ *
+ * @param retryAfter the retryAfter value to set
+ * @return the DeploymentsWhatIfAtSubscriptionScopeHeaders object itself.
+ */
+ public DeploymentsWhatIfAtSubscriptionScopeHeaders withRetryAfter(String retryAfter) {
+ this.retryAfter = retryAfter;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentsWhatIfHeaders.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentsWhatIfHeaders.java
new file mode 100644
index 0000000000000..b65bfac0b4a01
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/DeploymentsWhatIfHeaders.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Defines headers for WhatIf operation.
+ */
+public class DeploymentsWhatIfHeaders {
+ /**
+ * URL to get status of this long-running operation.
+ */
+ @JsonProperty(value = "Location")
+ private String location;
+
+ /**
+ * Number of seconds to wait before polling for status.
+ */
+ @JsonProperty(value = "Retry-After")
+ private String retryAfter;
+
+ /**
+ * Get uRL to get status of this long-running operation.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set uRL to get status of this long-running operation.
+ *
+ * @param location the location value to set
+ * @return the DeploymentsWhatIfHeaders object itself.
+ */
+ public DeploymentsWhatIfHeaders withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get number of seconds to wait before polling for status.
+ *
+ * @return the retryAfter value
+ */
+ public String retryAfter() {
+ return this.retryAfter;
+ }
+
+ /**
+ * Set number of seconds to wait before polling for status.
+ *
+ * @param retryAfter the retryAfter value to set
+ * @return the DeploymentsWhatIfHeaders object itself.
+ */
+ public DeploymentsWhatIfHeaders withRetryAfter(String retryAfter) {
+ this.retryAfter = retryAfter;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ErrorAdditionalInfo.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ErrorAdditionalInfo.java
new file mode 100644
index 0000000000000..65c05f7dd9a41
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ErrorAdditionalInfo.java
@@ -0,0 +1,47 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The resource management error additional info.
+ */
+public class ErrorAdditionalInfo {
+ /**
+ * The additional info type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /**
+ * The additional info.
+ */
+ @JsonProperty(value = "info", access = JsonProperty.Access.WRITE_ONLY)
+ private Object info;
+
+ /**
+ * Get the additional info type.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the additional info.
+ *
+ * @return the info value
+ */
+ public Object info() {
+ return this.info;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ErrorResponse.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ErrorResponse.java
new file mode 100644
index 0000000000000..aee60a9a558d1
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ErrorResponse.java
@@ -0,0 +1,93 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The resource management error response.
+ */
+public class ErrorResponse {
+ /**
+ * The error code.
+ */
+ @JsonProperty(value = "code", access = JsonProperty.Access.WRITE_ONLY)
+ private String code;
+
+ /**
+ * The error message.
+ */
+ @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY)
+ private String message;
+
+ /**
+ * The error target.
+ */
+ @JsonProperty(value = "target", access = JsonProperty.Access.WRITE_ONLY)
+ private String target;
+
+ /**
+ * The error details.
+ */
+ @JsonProperty(value = "details", access = JsonProperty.Access.WRITE_ONLY)
+ private List details;
+
+ /**
+ * The error additional info.
+ */
+ @JsonProperty(value = "additionalInfo", access = JsonProperty.Access.WRITE_ONLY)
+ private List additionalInfo;
+
+ /**
+ * Get the error code.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Get the error message.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Get the error target.
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Get the error details.
+ *
+ * @return the details value
+ */
+ public List details() {
+ return this.details;
+ }
+
+ /**
+ * Get the error additional info.
+ *
+ * @return the additionalInfo value
+ */
+ public List additionalInfo() {
+ return this.additionalInfo;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ExportTemplateRequest.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ExportTemplateRequest.java
new file mode 100644
index 0000000000000..bfd48db70db95
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ExportTemplateRequest.java
@@ -0,0 +1,74 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Export resource group template request parameters.
+ */
+public class ExportTemplateRequest {
+ /**
+ * The IDs of the resources to filter the export by. To export all
+ * resources, supply an array with single entry '*'.
+ */
+ @JsonProperty(value = "resources")
+ private List resources;
+
+ /**
+ * The export template options. A CSV-formatted list containing zero or
+ * more of the following: 'IncludeParameterDefaultValue',
+ * 'IncludeComments', 'SkipResourceNameParameterization',
+ * 'SkipAllParameterization'.
+ */
+ @JsonProperty(value = "options")
+ private String options;
+
+ /**
+ * Get the IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'.
+ *
+ * @return the resources value
+ */
+ public List resources() {
+ return this.resources;
+ }
+
+ /**
+ * Set the IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'.
+ *
+ * @param resources the resources value to set
+ * @return the ExportTemplateRequest object itself.
+ */
+ public ExportTemplateRequest withResources(List resources) {
+ this.resources = resources;
+ return this;
+ }
+
+ /**
+ * Get the export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization'.
+ *
+ * @return the options value
+ */
+ public String options() {
+ return this.options;
+ }
+
+ /**
+ * Set the export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization'.
+ *
+ * @param options the options value to set
+ * @return the ExportTemplateRequest object itself.
+ */
+ public ExportTemplateRequest withOptions(String options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResource.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResource.java
new file mode 100644
index 0000000000000..1cc0ee8e6b7a3
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResource.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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.GenericResourceInner;
+import java.util.Map;
+
+/**
+ * Type representing GenericResource.
+ */
+public interface GenericResource extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the identity value.
+ */
+ Identity identity();
+
+ /**
+ * @return the kind value.
+ */
+ String kind();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the managedBy value.
+ */
+ String managedBy();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the plan value.
+ */
+ Plan plan();
+
+ /**
+ * @return the properties value.
+ */
+ Object properties();
+
+ /**
+ * @return the sku value.
+ */
+ Sku sku();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResourceExpanded.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResourceExpanded.java
new file mode 100644
index 0000000000000..0826aebe9eda7
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResourceExpanded.java
@@ -0,0 +1,92 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.GenericResourceExpandedInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import org.joda.time.DateTime;
+import java.util.Map;
+
+/**
+ * Type representing GenericResourceExpanded.
+ */
+public interface GenericResourceExpanded extends HasInner, HasManager {
+ /**
+ * @return the changedTime value.
+ */
+ DateTime changedTime();
+
+ /**
+ * @return the createdTime value.
+ */
+ DateTime createdTime();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the identity value.
+ */
+ Identity identity();
+
+ /**
+ * @return the kind value.
+ */
+ String kind();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the managedBy value.
+ */
+ String managedBy();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the plan value.
+ */
+ Plan plan();
+
+ /**
+ * @return the properties value.
+ */
+ Object properties();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the sku value.
+ */
+ Sku sku();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResourceFilter.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResourceFilter.java
new file mode 100644
index 0000000000000..ffafddeac807d
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/GenericResourceFilter.java
@@ -0,0 +1,95 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Resource filter.
+ */
+public class GenericResourceFilter {
+ /**
+ * The resource type.
+ */
+ @JsonProperty(value = "resourceType")
+ private String resourceType;
+
+ /**
+ * The tag name.
+ */
+ @JsonProperty(value = "tagname")
+ private String tagname;
+
+ /**
+ * The tag value.
+ */
+ @JsonProperty(value = "tagvalue")
+ private String tagvalue;
+
+ /**
+ * Get the resource type.
+ *
+ * @return the resourceType value
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Set the resource type.
+ *
+ * @param resourceType the resourceType value to set
+ * @return the GenericResourceFilter object itself.
+ */
+ public GenericResourceFilter withResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ return this;
+ }
+
+ /**
+ * Get the tag name.
+ *
+ * @return the tagname value
+ */
+ public String tagname() {
+ return this.tagname;
+ }
+
+ /**
+ * Set the tag name.
+ *
+ * @param tagname the tagname value to set
+ * @return the GenericResourceFilter object itself.
+ */
+ public GenericResourceFilter withTagname(String tagname) {
+ this.tagname = tagname;
+ return this;
+ }
+
+ /**
+ * Get the tag value.
+ *
+ * @return the tagvalue value
+ */
+ public String tagvalue() {
+ return this.tagvalue;
+ }
+
+ /**
+ * Set the tag value.
+ *
+ * @param tagvalue the tagvalue value to set
+ * @return the GenericResourceFilter object itself.
+ */
+ public GenericResourceFilter withTagvalue(String tagvalue) {
+ this.tagvalue = tagvalue;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/HttpMessage.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/HttpMessage.java
new file mode 100644
index 0000000000000..36b9c9671b2b6
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/HttpMessage.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * HTTP message.
+ */
+public class HttpMessage {
+ /**
+ * HTTP message content.
+ */
+ @JsonProperty(value = "content")
+ private Object content;
+
+ /**
+ * Get hTTP message content.
+ *
+ * @return the content value
+ */
+ public Object content() {
+ return this.content;
+ }
+
+ /**
+ * Set hTTP message content.
+ *
+ * @param content the content value to set
+ * @return the HttpMessage object itself.
+ */
+ public HttpMessage withContent(Object content) {
+ this.content = content;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Identity.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Identity.java
new file mode 100644
index 0000000000000..0cb591157e45f
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Identity.java
@@ -0,0 +1,103 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Identity for the resource.
+ */
+public class Identity {
+ /**
+ * The principal ID of resource identity.
+ */
+ @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY)
+ private String principalId;
+
+ /**
+ * The tenant ID of resource.
+ */
+ @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY)
+ private String tenantId;
+
+ /**
+ * The identity type. Possible values include: 'SystemAssigned',
+ * 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ */
+ @JsonProperty(value = "type")
+ private ResourceIdentityType type;
+
+ /**
+ * The list of user identities associated with the resource. The user
+ * identity dictionary key references will be ARM resource ids in the form:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
+ */
+ @JsonProperty(value = "userAssignedIdentities")
+ private Map userAssignedIdentities;
+
+ /**
+ * Get the principal ID of resource identity.
+ *
+ * @return the principalId value
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Get the tenant ID of resource.
+ *
+ * @return the tenantId value
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Get the identity type. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ *
+ * @return the type value
+ */
+ public ResourceIdentityType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the identity type. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ *
+ * @param type the type value to set
+ * @return the Identity object itself.
+ */
+ public Identity withType(ResourceIdentityType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
+ *
+ * @return the userAssignedIdentities value
+ */
+ public Map userAssignedIdentities() {
+ return this.userAssignedIdentities;
+ }
+
+ /**
+ * Set the list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
+ *
+ * @param userAssignedIdentities the userAssignedIdentities value to set
+ * @return the Identity object itself.
+ */
+ public Identity withUserAssignedIdentities(Map userAssignedIdentities) {
+ this.userAssignedIdentities = userAssignedIdentities;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/IdentityUserAssignedIdentitiesValue.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/IdentityUserAssignedIdentitiesValue.java
new file mode 100644
index 0000000000000..92b9992289f4a
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/IdentityUserAssignedIdentitiesValue.java
@@ -0,0 +1,47 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The IdentityUserAssignedIdentitiesValue model.
+ */
+public class IdentityUserAssignedIdentitiesValue {
+ /**
+ * The principal id of user assigned identity.
+ */
+ @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY)
+ private String principalId;
+
+ /**
+ * The client id of user assigned identity.
+ */
+ @JsonProperty(value = "clientId", access = JsonProperty.Access.WRITE_ONLY)
+ private String clientId;
+
+ /**
+ * Get the principal id of user assigned identity.
+ *
+ * @return the principalId value
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Get the client id of user assigned identity.
+ *
+ * @return the clientId value
+ */
+ public String clientId() {
+ return this.clientId;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeployment.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeployment.java
new file mode 100644
index 0000000000000..d218dc2bd39db
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeployment.java
@@ -0,0 +1,71 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment on error behavior.
+ */
+public class OnErrorDeployment {
+ /**
+ * The deployment on error behavior type. Possible values are
+ * LastSuccessful and SpecificDeployment. Possible values include:
+ * 'LastSuccessful', 'SpecificDeployment'.
+ */
+ @JsonProperty(value = "type")
+ private OnErrorDeploymentType type;
+
+ /**
+ * The deployment to be used on error case.
+ */
+ @JsonProperty(value = "deploymentName")
+ private String deploymentName;
+
+ /**
+ * Get the deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. Possible values include: 'LastSuccessful', 'SpecificDeployment'.
+ *
+ * @return the type value
+ */
+ public OnErrorDeploymentType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. Possible values include: 'LastSuccessful', 'SpecificDeployment'.
+ *
+ * @param type the type value to set
+ * @return the OnErrorDeployment object itself.
+ */
+ public OnErrorDeployment withType(OnErrorDeploymentType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the deployment to be used on error case.
+ *
+ * @return the deploymentName value
+ */
+ public String deploymentName() {
+ return this.deploymentName;
+ }
+
+ /**
+ * Set the deployment to be used on error case.
+ *
+ * @param deploymentName the deploymentName value to set
+ * @return the OnErrorDeployment object itself.
+ */
+ public OnErrorDeployment withDeploymentName(String deploymentName) {
+ this.deploymentName = deploymentName;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeploymentExtended.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeploymentExtended.java
new file mode 100644
index 0000000000000..be3da11e63692
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeploymentExtended.java
@@ -0,0 +1,86 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment on error behavior with additional details.
+ */
+public class OnErrorDeploymentExtended {
+ /**
+ * The state of the provisioning for the on error deployment.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * The deployment on error behavior type. Possible values are
+ * LastSuccessful and SpecificDeployment. Possible values include:
+ * 'LastSuccessful', 'SpecificDeployment'.
+ */
+ @JsonProperty(value = "type")
+ private OnErrorDeploymentType type;
+
+ /**
+ * The deployment to be used on error case.
+ */
+ @JsonProperty(value = "deploymentName")
+ private String deploymentName;
+
+ /**
+ * Get the state of the provisioning for the on error deployment.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. Possible values include: 'LastSuccessful', 'SpecificDeployment'.
+ *
+ * @return the type value
+ */
+ public OnErrorDeploymentType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. Possible values include: 'LastSuccessful', 'SpecificDeployment'.
+ *
+ * @param type the type value to set
+ * @return the OnErrorDeploymentExtended object itself.
+ */
+ public OnErrorDeploymentExtended withType(OnErrorDeploymentType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the deployment to be used on error case.
+ *
+ * @return the deploymentName value
+ */
+ public String deploymentName() {
+ return this.deploymentName;
+ }
+
+ /**
+ * Set the deployment to be used on error case.
+ *
+ * @param deploymentName the deploymentName value to set
+ * @return the OnErrorDeploymentExtended object itself.
+ */
+ public OnErrorDeploymentExtended withDeploymentName(String deploymentName) {
+ this.deploymentName = deploymentName;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeploymentType.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeploymentType.java
new file mode 100644
index 0000000000000..f48f9afa6b882
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OnErrorDeploymentType.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for OnErrorDeploymentType.
+ */
+public enum OnErrorDeploymentType {
+ /** Enum value LastSuccessful. */
+ LAST_SUCCESSFUL("LastSuccessful"),
+
+ /** Enum value SpecificDeployment. */
+ SPECIFIC_DEPLOYMENT("SpecificDeployment");
+
+ /** The actual serialized value for a OnErrorDeploymentType instance. */
+ private String value;
+
+ OnErrorDeploymentType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a OnErrorDeploymentType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed OnErrorDeploymentType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static OnErrorDeploymentType fromString(String value) {
+ OnErrorDeploymentType[] items = OnErrorDeploymentType.values();
+ for (OnErrorDeploymentType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Operation.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Operation.java
new file mode 100644
index 0000000000000..f0249b00177c2
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Operation.java
@@ -0,0 +1,30 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.OperationInner;
+
+/**
+ * Type representing Operation.
+ */
+public interface Operation extends HasInner, HasManager {
+ /**
+ * @return the display value.
+ */
+ OperationDisplay display();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OperationDisplay.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OperationDisplay.java
new file mode 100644
index 0000000000000..06e05f0cd32d0
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/OperationDisplay.java
@@ -0,0 +1,121 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The object that represents the operation.
+ */
+public class OperationDisplay {
+ /**
+ * Service provider: Microsoft.Resources.
+ */
+ @JsonProperty(value = "provider")
+ private String provider;
+
+ /**
+ * Resource on which the operation is performed: Profile, endpoint, etc.
+ */
+ @JsonProperty(value = "resource")
+ private String resource;
+
+ /**
+ * Operation type: Read, write, delete, etc.
+ */
+ @JsonProperty(value = "operation")
+ private String operation;
+
+ /**
+ * Description of the operation.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get service provider: Microsoft.Resources.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set service provider: Microsoft.Resources.
+ *
+ * @param provider the provider value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withProvider(String provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get resource on which the operation is performed: Profile, endpoint, etc.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set resource on which the operation is performed: Profile, endpoint, etc.
+ *
+ * @param resource the resource value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get operation type: Read, write, delete, etc.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set operation type: Read, write, delete, etc.
+ *
+ * @param operation the operation value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withOperation(String operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get description of the operation.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set description of the operation.
+ *
+ * @param description the description value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Operations.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Operations.java
new file mode 100644
index 0000000000000..1862034c5240a
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Operations.java
@@ -0,0 +1,27 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.OperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Operations.
+ */
+public interface Operations extends HasInner {
+ /**
+ * Lists all of the available Microsoft.Resources REST API operations.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ParametersLink.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ParametersLink.java
new file mode 100644
index 0000000000000..962fd9d9b6a32
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ParametersLink.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Entity representing the reference to the deployment parameters.
+ */
+public class ParametersLink {
+ /**
+ * The URI of the parameters file.
+ */
+ @JsonProperty(value = "uri", required = true)
+ private String uri;
+
+ /**
+ * If included, must match the ContentVersion in the template.
+ */
+ @JsonProperty(value = "contentVersion")
+ private String contentVersion;
+
+ /**
+ * Get the URI of the parameters file.
+ *
+ * @return the uri value
+ */
+ public String uri() {
+ return this.uri;
+ }
+
+ /**
+ * Set the URI of the parameters file.
+ *
+ * @param uri the uri value to set
+ * @return the ParametersLink object itself.
+ */
+ public ParametersLink withUri(String uri) {
+ this.uri = uri;
+ return this;
+ }
+
+ /**
+ * Get if included, must match the ContentVersion in the template.
+ *
+ * @return the contentVersion value
+ */
+ public String contentVersion() {
+ return this.contentVersion;
+ }
+
+ /**
+ * Set if included, must match the ContentVersion in the template.
+ *
+ * @param contentVersion the contentVersion value to set
+ * @return the ParametersLink object itself.
+ */
+ public ParametersLink withContentVersion(String contentVersion) {
+ this.contentVersion = contentVersion;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Plan.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Plan.java
new file mode 100644
index 0000000000000..a1b5bfb9402ab
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Plan.java
@@ -0,0 +1,147 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Plan for the resource.
+ */
+public class Plan {
+ /**
+ * The plan ID.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The publisher ID.
+ */
+ @JsonProperty(value = "publisher")
+ private String publisher;
+
+ /**
+ * The offer ID.
+ */
+ @JsonProperty(value = "product")
+ private String product;
+
+ /**
+ * The promotion code.
+ */
+ @JsonProperty(value = "promotionCode")
+ private String promotionCode;
+
+ /**
+ * The plan's version.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /**
+ * Get the plan ID.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the plan ID.
+ *
+ * @param name the name value to set
+ * @return the Plan object itself.
+ */
+ public Plan withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the publisher ID.
+ *
+ * @return the publisher value
+ */
+ public String publisher() {
+ return this.publisher;
+ }
+
+ /**
+ * Set the publisher ID.
+ *
+ * @param publisher the publisher value to set
+ * @return the Plan object itself.
+ */
+ public Plan withPublisher(String publisher) {
+ this.publisher = publisher;
+ return this;
+ }
+
+ /**
+ * Get the offer ID.
+ *
+ * @return the product value
+ */
+ public String product() {
+ return this.product;
+ }
+
+ /**
+ * Set the offer ID.
+ *
+ * @param product the product value to set
+ * @return the Plan object itself.
+ */
+ public Plan withProduct(String product) {
+ this.product = product;
+ return this;
+ }
+
+ /**
+ * Get the promotion code.
+ *
+ * @return the promotionCode value
+ */
+ public String promotionCode() {
+ return this.promotionCode;
+ }
+
+ /**
+ * Set the promotion code.
+ *
+ * @param promotionCode the promotionCode value to set
+ * @return the Plan object itself.
+ */
+ public Plan withPromotionCode(String promotionCode) {
+ this.promotionCode = promotionCode;
+ return this;
+ }
+
+ /**
+ * Get the plan's version.
+ *
+ * @return the version value
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the plan's version.
+ *
+ * @param version the version value to set
+ * @return the Plan object itself.
+ */
+ public Plan withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/PropertyChangeType.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/PropertyChangeType.java
new file mode 100644
index 0000000000000..8bf817a3f5365
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/PropertyChangeType.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for PropertyChangeType.
+ */
+public enum PropertyChangeType {
+ /** The property does not exist in the current state but is present in the desired state. The property will be created when the deployment is executed. */
+ CREATE("Create"),
+
+ /** The property exists in the current state and is missing from the desired state. It will be deleted when the deployment is executed. */
+ DELETE("Delete"),
+
+ /** The property exists in both current and desired state and is different. The value of the property will change when the deployment is executed. */
+ MODIFY("Modify"),
+
+ /** The property is an array and contains nested changes. */
+ ARRAY("Array");
+
+ /** The actual serialized value for a PropertyChangeType instance. */
+ private String value;
+
+ PropertyChangeType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a PropertyChangeType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed PropertyChangeType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static PropertyChangeType fromString(String value) {
+ PropertyChangeType[] items = PropertyChangeType.values();
+ for (PropertyChangeType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Provider.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Provider.java
new file mode 100644
index 0000000000000..134ced9191205
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Provider.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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ProviderInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import java.util.List;
+
+/**
+ * Type representing Provider.
+ */
+public interface Provider extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the namespace value.
+ */
+ String namespace();
+
+ /**
+ * @return the registrationPolicy value.
+ */
+ String registrationPolicy();
+
+ /**
+ * @return the registrationState value.
+ */
+ String registrationState();
+
+ /**
+ * @return the resourceTypes value.
+ */
+ List resourceTypes();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ProviderResourceType.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ProviderResourceType.java
new file mode 100644
index 0000000000000..9a1200d98a0bf
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ProviderResourceType.java
@@ -0,0 +1,175 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import java.util.List;
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Resource type managed by the resource provider.
+ */
+public class ProviderResourceType {
+ /**
+ * The resource type.
+ */
+ @JsonProperty(value = "resourceType")
+ private String resourceType;
+
+ /**
+ * The collection of locations where this resource type can be created.
+ */
+ @JsonProperty(value = "locations")
+ private List locations;
+
+ /**
+ * The aliases that are supported by this resource type.
+ */
+ @JsonProperty(value = "aliases")
+ private List aliases;
+
+ /**
+ * The API version.
+ */
+ @JsonProperty(value = "apiVersions")
+ private List apiVersions;
+
+ /**
+ * The additional capabilities offered by this resource type.
+ */
+ @JsonProperty(value = "capabilities")
+ private String capabilities;
+
+ /**
+ * The properties.
+ */
+ @JsonProperty(value = "properties")
+ private Map properties;
+
+ /**
+ * Get the resource type.
+ *
+ * @return the resourceType value
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Set the resource type.
+ *
+ * @param resourceType the resourceType value to set
+ * @return the ProviderResourceType object itself.
+ */
+ public ProviderResourceType withResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ return this;
+ }
+
+ /**
+ * Get the collection of locations where this resource type can be created.
+ *
+ * @return the locations value
+ */
+ public List locations() {
+ return this.locations;
+ }
+
+ /**
+ * Set the collection of locations where this resource type can be created.
+ *
+ * @param locations the locations value to set
+ * @return the ProviderResourceType object itself.
+ */
+ public ProviderResourceType withLocations(List locations) {
+ this.locations = locations;
+ return this;
+ }
+
+ /**
+ * Get the aliases that are supported by this resource type.
+ *
+ * @return the aliases value
+ */
+ public List aliases() {
+ return this.aliases;
+ }
+
+ /**
+ * Set the aliases that are supported by this resource type.
+ *
+ * @param aliases the aliases value to set
+ * @return the ProviderResourceType object itself.
+ */
+ public ProviderResourceType withAliases(List aliases) {
+ this.aliases = aliases;
+ return this;
+ }
+
+ /**
+ * Get the API version.
+ *
+ * @return the apiVersions value
+ */
+ public List apiVersions() {
+ return this.apiVersions;
+ }
+
+ /**
+ * Set the API version.
+ *
+ * @param apiVersions the apiVersions value to set
+ * @return the ProviderResourceType object itself.
+ */
+ public ProviderResourceType withApiVersions(List apiVersions) {
+ this.apiVersions = apiVersions;
+ return this;
+ }
+
+ /**
+ * Get the additional capabilities offered by this resource type.
+ *
+ * @return the capabilities value
+ */
+ public String capabilities() {
+ return this.capabilities;
+ }
+
+ /**
+ * Set the additional capabilities offered by this resource type.
+ *
+ * @param capabilities the capabilities value to set
+ * @return the ProviderResourceType object itself.
+ */
+ public ProviderResourceType withCapabilities(String capabilities) {
+ this.capabilities = capabilities;
+ return this;
+ }
+
+ /**
+ * Get the properties.
+ *
+ * @return the properties value
+ */
+ public Map properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties.
+ *
+ * @param properties the properties value to set
+ * @return the ProviderResourceType object itself.
+ */
+ public ProviderResourceType withProperties(Map properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Providers.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Providers.java
new file mode 100644
index 0000000000000..6829f56fe17c4
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Providers.java
@@ -0,0 +1,71 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ProvidersInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Providers.
+ */
+public interface Providers extends HasInner {
+ /**
+ * Unregisters a subscription from a resource provider.
+ *
+ * @param resourceProviderNamespace The namespace of the resource provider to unregister.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable unregisterAsync(String resourceProviderNamespace);
+
+ /**
+ * Registers a subscription with a resource provider.
+ *
+ * @param resourceProviderNamespace The namespace of the resource provider to register.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable registerAsync(String resourceProviderNamespace);
+
+ /**
+ * Gets the specified resource provider at the tenant level.
+ *
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAtTenantScopeAsync(String resourceProviderNamespace);
+
+ /**
+ * Gets all resource providers for the tenant.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAtTenantScopeAsync();
+
+ /**
+ * Gets the specified resource provider.
+ *
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceProviderNamespace);
+
+ /**
+ * Gets all resource providers for a subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroup.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroup.java
new file mode 100644
index 0000000000000..873657c54c099
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroup.java
@@ -0,0 +1,203 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourceGroupInner;
+import com.microsoft.azure.arm.model.Indexable;
+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.resources.v2019_08_01.implementation.ResourcesManager;
+import java.util.Map;
+
+/**
+ * Type representing ResourceGroup.
+ */
+public interface ResourceGroup extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the managedBy value.
+ */
+ String managedBy();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ ResourceGroupProperties properties();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the ResourceGroup definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithSubscription, DefinitionStages.WithLocation, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of ResourceGroup definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a ResourceGroup definition.
+ */
+ interface Blank extends WithSubscription {
+ }
+
+ /**
+ * The stage of the resourcegroup definition allowing to specify Subscription.
+ */
+ interface WithSubscription {
+ /**
+ * Specifies .
+ * @return the next definition stage
+ */
+ WithLocation withExistingSubscription();
+ }
+
+ /**
+ * The stage of the resourcegroup definition allowing to specify Location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies location.
+ * @param location the location parameter value
+ * @return the next definition stage
+ */
+ WithCreate withLocation(String location);
+ }
+
+ /**
+ * The stage of the resourcegroup definition allowing to specify ManagedBy.
+ */
+ interface WithManagedBy {
+ /**
+ * Specifies managedBy.
+ * @param managedBy The ID of the resource that manages this resource group
+ * @return the next definition stage
+ */
+ WithCreate withManagedBy(String managedBy);
+ }
+
+ /**
+ * The stage of the resourcegroup definition allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties The resource group properties
+ * @return the next definition stage
+ */
+ WithCreate withProperties(ResourceGroupProperties properties);
+ }
+
+ /**
+ * The stage of the resourcegroup definition allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags the tags parameter value
+ * @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.WithManagedBy, DefinitionStages.WithProperties, DefinitionStages.WithTags {
+ }
+ }
+ /**
+ * The template for a ResourceGroup update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithManagedBy, UpdateStages.WithName, UpdateStages.WithProperties, UpdateStages.WithTags {
+ }
+
+ /**
+ * Grouping of ResourceGroup update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the resourcegroup update allowing to specify ManagedBy.
+ */
+ interface WithManagedBy {
+ /**
+ * Specifies managedBy.
+ * @param managedBy The ID of the resource that manages this resource group
+ * @return the next update stage
+ */
+ Update withManagedBy(String managedBy);
+ }
+
+ /**
+ * The stage of the resourcegroup update allowing to specify Name.
+ */
+ interface WithName {
+ /**
+ * Specifies name.
+ * @param name The name of the resource group
+ * @return the next update stage
+ */
+ Update withName(String name);
+ }
+
+ /**
+ * The stage of the resourcegroup update allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties The resource group properties
+ * @return the next update stage
+ */
+ Update withProperties(ResourceGroupProperties properties);
+ }
+
+ /**
+ * The stage of the resourcegroup update allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags The tags attached to the resource group
+ * @return the next update stage
+ */
+ Update withTags(Map tags);
+ }
+
+ }
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupExportResult.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupExportResult.java
new file mode 100644
index 0000000000000..4d914d70337e1
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupExportResult.java
@@ -0,0 +1,30 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourceGroupExportResultInner;
+
+/**
+ * Type representing ResourceGroupExportResult.
+ */
+public interface ResourceGroupExportResult extends HasInner, HasManager {
+ /**
+ * @return the error value.
+ */
+ ErrorResponse error();
+
+ /**
+ * @return the template value.
+ */
+ Object template();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupFilter.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupFilter.java
new file mode 100644
index 0000000000000..adbb9772eb453
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupFilter.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Resource group filter.
+ */
+public class ResourceGroupFilter {
+ /**
+ * The tag name.
+ */
+ @JsonProperty(value = "tagName")
+ private String tagName;
+
+ /**
+ * The tag value.
+ */
+ @JsonProperty(value = "tagValue")
+ private String tagValue;
+
+ /**
+ * Get the tag name.
+ *
+ * @return the tagName value
+ */
+ public String tagName() {
+ return this.tagName;
+ }
+
+ /**
+ * Set the tag name.
+ *
+ * @param tagName the tagName value to set
+ * @return the ResourceGroupFilter object itself.
+ */
+ public ResourceGroupFilter withTagName(String tagName) {
+ this.tagName = tagName;
+ return this;
+ }
+
+ /**
+ * Get the tag value.
+ *
+ * @return the tagValue value
+ */
+ public String tagValue() {
+ return this.tagValue;
+ }
+
+ /**
+ * Set the tag value.
+ *
+ * @param tagValue the tagValue value to set
+ * @return the ResourceGroupFilter object itself.
+ */
+ public ResourceGroupFilter withTagValue(String tagValue) {
+ this.tagValue = tagValue;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupPatchable.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupPatchable.java
new file mode 100644
index 0000000000000..1f505eb94a481
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupPatchable.java
@@ -0,0 +1,122 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Resource group information.
+ */
+public class ResourceGroupPatchable {
+ /**
+ * The name of the resource group.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The resource group properties.
+ */
+ @JsonProperty(value = "properties")
+ private ResourceGroupProperties properties;
+
+ /**
+ * The ID of the resource that manages this resource group.
+ */
+ @JsonProperty(value = "managedBy")
+ private String managedBy;
+
+ /**
+ * The tags attached to the resource group.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get the name of the resource group.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the resource group.
+ *
+ * @param name the name value to set
+ * @return the ResourceGroupPatchable object itself.
+ */
+ public ResourceGroupPatchable withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the resource group properties.
+ *
+ * @return the properties value
+ */
+ public ResourceGroupProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the resource group properties.
+ *
+ * @param properties the properties value to set
+ * @return the ResourceGroupPatchable object itself.
+ */
+ public ResourceGroupPatchable withProperties(ResourceGroupProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the ID of the resource that manages this resource group.
+ *
+ * @return the managedBy value
+ */
+ public String managedBy() {
+ return this.managedBy;
+ }
+
+ /**
+ * Set the ID of the resource that manages this resource group.
+ *
+ * @param managedBy the managedBy value to set
+ * @return the ResourceGroupPatchable object itself.
+ */
+ public ResourceGroupPatchable withManagedBy(String managedBy) {
+ this.managedBy = managedBy;
+ return this;
+ }
+
+ /**
+ * Get the tags attached to the resource group.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags attached to the resource group.
+ *
+ * @param tags the tags value to set
+ * @return the ResourceGroupPatchable object itself.
+ */
+ public ResourceGroupPatchable withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupProperties.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupProperties.java
new file mode 100644
index 0000000000000..01d2069a49d15
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroupProperties.java
@@ -0,0 +1,32 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The resource group properties.
+ */
+public class ResourceGroupProperties {
+ /**
+ * The provisioning state.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the provisioning state.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroups.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroups.java
new file mode 100644
index 0000000000000..bb48f980df291
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceGroups.java
@@ -0,0 +1,67 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourceGroupsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ResourceGroups.
+ */
+public interface ResourceGroups extends SupportsCreating, HasInner {
+ /**
+ * Checks whether a resource group exists.
+ *
+ * @param resourceGroupName The name of the resource group to check. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkExistenceAsync(String resourceGroupName);
+
+ /**
+ * Captures the specified resource group as a template.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters for exporting the template.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable exportTemplateAsync(String resourceGroupName, ExportTemplateRequest parameters);
+
+ /**
+ * Gets a resource group.
+ *
+ * @param resourceGroupName The name of the resource group to get. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName);
+
+ /**
+ * Gets all the resource groups for a subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+ /**
+ * Deletes a resource group.
+ * When you delete a resource group, all of its resources are also deleted. Deleting a resource group deletes all of its template deployments and currently stored operations.
+ *
+ * @param resourceGroupName The name of the resource group to delete. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName);
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceIdentityType.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceIdentityType.java
new file mode 100644
index 0000000000000..68faf089d4f49
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceIdentityType.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for ResourceIdentityType.
+ */
+public enum ResourceIdentityType {
+ /** Enum value SystemAssigned. */
+ SYSTEM_ASSIGNED("SystemAssigned"),
+
+ /** Enum value UserAssigned. */
+ USER_ASSIGNED("UserAssigned"),
+
+ /** Enum value SystemAssigned, UserAssigned. */
+ SYSTEM_ASSIGNED_USER_ASSIGNED("SystemAssigned, UserAssigned"),
+
+ /** Enum value None. */
+ NONE("None");
+
+ /** The actual serialized value for a ResourceIdentityType instance. */
+ private String value;
+
+ ResourceIdentityType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ResourceIdentityType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ResourceIdentityType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static ResourceIdentityType fromString(String value) {
+ ResourceIdentityType[] items = ResourceIdentityType.values();
+ for (ResourceIdentityType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceProviderOperationDisplayProperties.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceProviderOperationDisplayProperties.java
new file mode 100644
index 0000000000000..db5f9150a7e4d
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourceProviderOperationDisplayProperties.java
@@ -0,0 +1,147 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Resource provider operation's display properties.
+ */
+public class ResourceProviderOperationDisplayProperties {
+ /**
+ * Operation description.
+ */
+ @JsonProperty(value = "publisher")
+ private String publisher;
+
+ /**
+ * Operation provider.
+ */
+ @JsonProperty(value = "provider")
+ private String provider;
+
+ /**
+ * Operation resource.
+ */
+ @JsonProperty(value = "resource")
+ private String resource;
+
+ /**
+ * Resource provider operation.
+ */
+ @JsonProperty(value = "operation")
+ private String operation;
+
+ /**
+ * Operation description.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get operation description.
+ *
+ * @return the publisher value
+ */
+ public String publisher() {
+ return this.publisher;
+ }
+
+ /**
+ * Set operation description.
+ *
+ * @param publisher the publisher value to set
+ * @return the ResourceProviderOperationDisplayProperties object itself.
+ */
+ public ResourceProviderOperationDisplayProperties withPublisher(String publisher) {
+ this.publisher = publisher;
+ return this;
+ }
+
+ /**
+ * Get operation provider.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set operation provider.
+ *
+ * @param provider the provider value to set
+ * @return the ResourceProviderOperationDisplayProperties object itself.
+ */
+ public ResourceProviderOperationDisplayProperties withProvider(String provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get operation resource.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set operation resource.
+ *
+ * @param resource the resource value to set
+ * @return the ResourceProviderOperationDisplayProperties object itself.
+ */
+ public ResourceProviderOperationDisplayProperties withResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get resource provider operation.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set resource provider operation.
+ *
+ * @param operation the operation value to set
+ * @return the ResourceProviderOperationDisplayProperties object itself.
+ */
+ public ResourceProviderOperationDisplayProperties withOperation(String operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get operation description.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set operation description.
+ *
+ * @param description the description value to set
+ * @return the ResourceProviderOperationDisplayProperties object itself.
+ */
+ public ResourceProviderOperationDisplayProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Resources.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Resources.java
new file mode 100644
index 0000000000000..132979b9c7892
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Resources.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.resources.v2019_08_01;
+
+import rx.Observable;
+import rx.Completable;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.GenericResourceInner;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Resources.
+ */
+public interface Resources extends HasInner {
+ /**
+ * Get all the resources in a subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+ /**
+ * Checks by ID whether a resource exists.
+ *
+ * @param resourceId The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
+ * @param apiVersion The API version to use for the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkExistenceByIdAsync(String resourceId, String apiVersion);
+
+ /**
+ * Deletes a resource by ID.
+ *
+ * @param resourceId The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
+ * @param apiVersion The API version to use for the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteByIdAsync(String resourceId, String apiVersion);
+
+ /**
+ * Create a resource by ID.
+ *
+ * @param resourceId The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
+ * @param apiVersion The API version to use for the operation.
+ * @param parameters Create or update resource parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateByIdAsync(String resourceId, String apiVersion, GenericResourceInner parameters);
+
+ /**
+ * Updates a resource by ID.
+ *
+ * @param resourceId The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
+ * @param apiVersion The API version to use for the operation.
+ * @param parameters Update resource parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable updateByIdAsync(String resourceId, String apiVersion, GenericResourceInner parameters);
+
+ /**
+ * Gets a resource by ID.
+ *
+ * @param resourceId The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}
+ * @param apiVersion The API version to use for the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getByIdAsync(String resourceId, String apiVersion);
+
+ /**
+ * Get all the resources for a resource group.
+ *
+ * @param resourceGroupName The resource group with the resources to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByResourceGroupAsync(final String resourceGroupName);
+
+ /**
+ * Moves resources from one resource group to another resource group.
+ * The resources to move must be in the same source resource group. The target resource group may be in a different subscription. When moving resources, both the source group and the target group are locked for the duration of the operation. Write and delete operations are blocked on the groups until the move completes.
+ *
+ * @param sourceResourceGroupName The name of the resource group containing the resources to move.
+ * @param parameters Parameters for moving resources.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable moveResourcesAsync(String sourceResourceGroupName, ResourcesMoveInfo parameters);
+
+ /**
+ * Validates whether resources can be moved from one resource group to another resource group.
+ * This operation checks whether the specified resources can be moved to the target. The resources to move must be in the same source resource group. The target resource group may be in a different subscription. If validation succeeds, it returns HTTP response code 204 (no content). If validation fails, it returns HTTP response code 409 (Conflict) with an error message. Retrieve the URL in the Location header value to check the result of the long-running operation.
+ *
+ * @param sourceResourceGroupName The name of the resource group containing the resources to validate for move.
+ * @param parameters Parameters for moving resources.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable validateMoveResourcesAsync(String sourceResourceGroupName, ResourcesMoveInfo parameters);
+
+ /**
+ * Checks whether a resource exists.
+ *
+ * @param resourceGroupName The name of the resource group containing the resource to check. The name is case insensitive.
+ * @param resourceProviderNamespace The resource provider of the resource to check.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type.
+ * @param resourceName The name of the resource to check whether it exists.
+ * @param apiVersion The API version to use for the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkExistenceAsync(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath, String resourceType, String resourceName, String apiVersion);
+
+ /**
+ * Deletes a resource.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource to delete. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type.
+ * @param resourceName The name of the resource to delete.
+ * @param apiVersion The API version to use for the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath, String resourceType, String resourceName, String apiVersion);
+
+ /**
+ * Creates a resource.
+ *
+ * @param resourceGroupName The name of the resource group for the resource. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource to create.
+ * @param resourceName The name of the resource to create.
+ * @param apiVersion The API version to use for the operation.
+ * @param parameters Parameters for creating or updating the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateAsync(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath, String resourceType, String resourceName, String apiVersion, GenericResourceInner parameters);
+
+ /**
+ * Updates a resource.
+ *
+ * @param resourceGroupName The name of the resource group for the resource. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource to update.
+ * @param resourceName The name of the resource to update.
+ * @param apiVersion The API version to use for the operation.
+ * @param parameters Parameters for updating the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable updateAsync(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath, String resourceType, String resourceName, String apiVersion, GenericResourceInner parameters);
+
+ /**
+ * Gets a resource.
+ *
+ * @param resourceGroupName The name of the resource group containing the resource to get. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource.
+ * @param resourceName The name of the resource to get.
+ * @param apiVersion The API version to use for the operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String resourceProviderNamespace, String parentResourcePath, String resourceType, String resourceName, String apiVersion);
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourcesMoveInfo.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourcesMoveInfo.java
new file mode 100644
index 0000000000000..ade8f1b2cdc7f
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ResourcesMoveInfo.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.resources.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Parameters of move resources.
+ */
+public class ResourcesMoveInfo {
+ /**
+ * The IDs of the resources.
+ */
+ @JsonProperty(value = "resources")
+ private List resources;
+
+ /**
+ * The target resource group.
+ */
+ @JsonProperty(value = "targetResourceGroup")
+ private String targetResourceGroup;
+
+ /**
+ * Get the IDs of the resources.
+ *
+ * @return the resources value
+ */
+ public List resources() {
+ return this.resources;
+ }
+
+ /**
+ * Set the IDs of the resources.
+ *
+ * @param resources the resources value to set
+ * @return the ResourcesMoveInfo object itself.
+ */
+ public ResourcesMoveInfo withResources(List resources) {
+ this.resources = resources;
+ return this;
+ }
+
+ /**
+ * Get the target resource group.
+ *
+ * @return the targetResourceGroup value
+ */
+ public String targetResourceGroup() {
+ return this.targetResourceGroup;
+ }
+
+ /**
+ * Set the target resource group.
+ *
+ * @param targetResourceGroup the targetResourceGroup value to set
+ * @return the ResourcesMoveInfo object itself.
+ */
+ public ResourcesMoveInfo withTargetResourceGroup(String targetResourceGroup) {
+ this.targetResourceGroup = targetResourceGroup;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ScopedDeployment.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ScopedDeployment.java
new file mode 100644
index 0000000000000..50fff20834d2b
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/ScopedDeployment.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment operation parameters.
+ */
+public class ScopedDeployment {
+ /**
+ * The location to store the deployment data.
+ */
+ @JsonProperty(value = "location", required = true)
+ private String location;
+
+ /**
+ * The deployment properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private DeploymentProperties properties;
+
+ /**
+ * Get the location to store the deployment data.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location to store the deployment data.
+ *
+ * @param location the location value to set
+ * @return the ScopedDeployment object itself.
+ */
+ public ScopedDeployment withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the deployment properties.
+ *
+ * @return the properties value
+ */
+ public DeploymentProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the deployment properties.
+ *
+ * @param properties the properties value to set
+ * @return the ScopedDeployment object itself.
+ */
+ public ScopedDeployment withProperties(DeploymentProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Sku.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Sku.java
new file mode 100644
index 0000000000000..52d8def8fb7d9
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Sku.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * SKU for the resource.
+ */
+public class Sku {
+ /**
+ * The SKU name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * The SKU tier.
+ */
+ @JsonProperty(value = "tier")
+ private String tier;
+
+ /**
+ * The SKU size.
+ */
+ @JsonProperty(value = "size")
+ private String size;
+
+ /**
+ * The SKU family.
+ */
+ @JsonProperty(value = "family")
+ private String family;
+
+ /**
+ * The SKU model.
+ */
+ @JsonProperty(value = "model")
+ private String model;
+
+ /**
+ * The SKU capacity.
+ */
+ @JsonProperty(value = "capacity")
+ private Integer capacity;
+
+ /**
+ * Get the SKU name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the SKU name.
+ *
+ * @param name the name value to set
+ * @return the Sku object itself.
+ */
+ public Sku withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the SKU tier.
+ *
+ * @return the tier value
+ */
+ public String tier() {
+ return this.tier;
+ }
+
+ /**
+ * Set the SKU tier.
+ *
+ * @param tier the tier value to set
+ * @return the Sku object itself.
+ */
+ public Sku withTier(String tier) {
+ this.tier = tier;
+ return this;
+ }
+
+ /**
+ * Get the SKU size.
+ *
+ * @return the size value
+ */
+ public String size() {
+ return this.size;
+ }
+
+ /**
+ * Set the SKU size.
+ *
+ * @param size the size value to set
+ * @return the Sku object itself.
+ */
+ public Sku withSize(String size) {
+ this.size = size;
+ return this;
+ }
+
+ /**
+ * Get the SKU family.
+ *
+ * @return the family value
+ */
+ public String family() {
+ return this.family;
+ }
+
+ /**
+ * Set the SKU family.
+ *
+ * @param family the family value to set
+ * @return the Sku object itself.
+ */
+ public Sku withFamily(String family) {
+ this.family = family;
+ return this;
+ }
+
+ /**
+ * Get the SKU model.
+ *
+ * @return the model value
+ */
+ public String model() {
+ return this.model;
+ }
+
+ /**
+ * Set the SKU model.
+ *
+ * @param model the model value to set
+ * @return the Sku object itself.
+ */
+ public Sku withModel(String model) {
+ this.model = model;
+ return this;
+ }
+
+ /**
+ * Get the SKU capacity.
+ *
+ * @return the capacity value
+ */
+ public Integer capacity() {
+ return this.capacity;
+ }
+
+ /**
+ * Set the SKU capacity.
+ *
+ * @param capacity the capacity value to set
+ * @return the Sku object itself.
+ */
+ public Sku withCapacity(Integer capacity) {
+ this.capacity = capacity;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagCount.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagCount.java
new file mode 100644
index 0000000000000..c0b46b35c3a0c
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagCount.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Tag count.
+ */
+public class TagCount {
+ /**
+ * Type of count.
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /**
+ * Value of count.
+ */
+ @JsonProperty(value = "value")
+ private Integer value;
+
+ /**
+ * Get type of count.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set type of count.
+ *
+ * @param type the type value to set
+ * @return the TagCount object itself.
+ */
+ public TagCount withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get value of count.
+ *
+ * @return the value value
+ */
+ public Integer value() {
+ return this.value;
+ }
+
+ /**
+ * Set value of count.
+ *
+ * @param value the value value to set
+ * @return the TagCount object itself.
+ */
+ public TagCount withValue(Integer value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagDetails.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagDetails.java
new file mode 100644
index 0000000000000..9d5b54ef12ae0
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagDetails.java
@@ -0,0 +1,41 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.TagDetailsInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import java.util.List;
+
+/**
+ * Type representing TagDetails.
+ */
+public interface TagDetails extends HasInner, HasManager {
+ /**
+ * @return the count value.
+ */
+ TagCount count();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the tagName value.
+ */
+ String tagName();
+
+ /**
+ * @return the values value.
+ */
+ List values();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagValue.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagValue.java
new file mode 100644
index 0000000000000..df30086deb6a7
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TagValue.java
@@ -0,0 +1,35 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.TagValueInner;
+
+/**
+ * Type representing TagValue.
+ */
+public interface TagValue extends HasInner, HasManager {
+ /**
+ * @return the count value.
+ */
+ TagCount count();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the tagValue value.
+ */
+ String tagValue();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Tags.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Tags.java
new file mode 100644
index 0000000000000..aabcad5ba8ff6
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/Tags.java
@@ -0,0 +1,67 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.resources.v2019_08_01.TagDetails;
+import rx.Completable;
+
+/**
+ * Type representing Tags.
+ */
+public interface Tags {
+ /**
+ * Gets the names and values of all resource tags that are defined in a subscription.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+ /**
+ * Deletes a tag from the subscription.
+ * You must remove all values from a resource tag before you can delete it.
+ *
+ * @param tagName The name of the tag.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String tagName);
+
+ /**
+ * Creates a tag in the subscription.
+ * The tag name can have a maximum of 512 characters and is case insensitive. Tag names created by Azure have prefixes of microsoft, azure, or windows. You cannot create tags with one of these prefixes.
+ *
+ * @param tagName The name of the tag to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateAsync(String tagName);
+
+ /**
+ * Deletes a tag value.
+ *
+ * @param tagName The name of the tag.
+ * @param tagValue The value of the tag to delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteValueAsync(String tagName, String tagValue);
+
+ /**
+ * Creates a tag value. The name of the tag must already exist.
+ *
+ * @param tagName The name of the tag.
+ * @param tagValue The value of the tag to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createOrUpdateValueAsync(String tagName, String tagValue);
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TargetResource.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TargetResource.java
new file mode 100644
index 0000000000000..e32d44093eebf
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TargetResource.java
@@ -0,0 +1,95 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Target resource.
+ */
+public class TargetResource {
+ /**
+ * The ID of the resource.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * The name of the resource.
+ */
+ @JsonProperty(value = "resourceName")
+ private String resourceName;
+
+ /**
+ * The type of the resource.
+ */
+ @JsonProperty(value = "resourceType")
+ private String resourceType;
+
+ /**
+ * Get the ID of the resource.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the ID of the resource.
+ *
+ * @param id the id value to set
+ * @return the TargetResource object itself.
+ */
+ public TargetResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name of the resource.
+ *
+ * @return the resourceName value
+ */
+ public String resourceName() {
+ return this.resourceName;
+ }
+
+ /**
+ * Set the name of the resource.
+ *
+ * @param resourceName the resourceName value to set
+ * @return the TargetResource object itself.
+ */
+ public TargetResource withResourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return this;
+ }
+
+ /**
+ * Get the type of the resource.
+ *
+ * @return the resourceType value
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Set the type of the resource.
+ *
+ * @param resourceType the resourceType value to set
+ * @return the TargetResource object itself.
+ */
+ public TargetResource withResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TemplateHashResult.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TemplateHashResult.java
new file mode 100644
index 0000000000000..5cca985939fcb
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TemplateHashResult.java
@@ -0,0 +1,30 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.TemplateHashResultInner;
+
+/**
+ * Type representing TemplateHashResult.
+ */
+public interface TemplateHashResult extends HasInner, HasManager {
+ /**
+ * @return the minifiedTemplate value.
+ */
+ String minifiedTemplate();
+
+ /**
+ * @return the templateHash value.
+ */
+ String templateHash();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TemplateLink.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TemplateLink.java
new file mode 100644
index 0000000000000..021967f213887
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/TemplateLink.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Entity representing the reference to the template.
+ */
+public class TemplateLink {
+ /**
+ * The URI of the template to deploy.
+ */
+ @JsonProperty(value = "uri", required = true)
+ private String uri;
+
+ /**
+ * If included, must match the ContentVersion in the template.
+ */
+ @JsonProperty(value = "contentVersion")
+ private String contentVersion;
+
+ /**
+ * Get the URI of the template to deploy.
+ *
+ * @return the uri value
+ */
+ public String uri() {
+ return this.uri;
+ }
+
+ /**
+ * Set the URI of the template to deploy.
+ *
+ * @param uri the uri value to set
+ * @return the TemplateLink object itself.
+ */
+ public TemplateLink withUri(String uri) {
+ this.uri = uri;
+ return this;
+ }
+
+ /**
+ * Get if included, must match the ContentVersion in the template.
+ *
+ * @return the contentVersion value
+ */
+ public String contentVersion() {
+ return this.contentVersion;
+ }
+
+ /**
+ * Set if included, must match the ContentVersion in the template.
+ *
+ * @param contentVersion the contentVersion value to set
+ * @return the TemplateLink object itself.
+ */
+ public TemplateLink withContentVersion(String contentVersion) {
+ this.contentVersion = contentVersion;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfChange.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfChange.java
new file mode 100644
index 0000000000000..b34778d939c66
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfChange.java
@@ -0,0 +1,150 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Information about a single resource change predicted by What-If operation.
+ */
+public class WhatIfChange {
+ /**
+ * Resource ID.
+ */
+ @JsonProperty(value = "resourceId", required = true)
+ private String resourceId;
+
+ /**
+ * Type of change that will be made to the resource when the deployment is
+ * executed. Possible values include: 'Create', 'Delete', 'Ignore',
+ * 'Deploy', 'NoChange', 'Modify'.
+ */
+ @JsonProperty(value = "changeType", required = true)
+ private ChangeType changeType;
+
+ /**
+ * The snapshot of the resource before the deployment is executed.
+ */
+ @JsonProperty(value = "before")
+ private Object before;
+
+ /**
+ * The predicted snapshot of the resource after the deployment is executed.
+ */
+ @JsonProperty(value = "after")
+ private Object after;
+
+ /**
+ * The predicted changes to resource properties.
+ */
+ @JsonProperty(value = "delta")
+ private List delta;
+
+ /**
+ * Get resource ID.
+ *
+ * @return the resourceId value
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set resource ID.
+ *
+ * @param resourceId the resourceId value to set
+ * @return the WhatIfChange object itself.
+ */
+ public WhatIfChange withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get type of change that will be made to the resource when the deployment is executed. Possible values include: 'Create', 'Delete', 'Ignore', 'Deploy', 'NoChange', 'Modify'.
+ *
+ * @return the changeType value
+ */
+ public ChangeType changeType() {
+ return this.changeType;
+ }
+
+ /**
+ * Set type of change that will be made to the resource when the deployment is executed. Possible values include: 'Create', 'Delete', 'Ignore', 'Deploy', 'NoChange', 'Modify'.
+ *
+ * @param changeType the changeType value to set
+ * @return the WhatIfChange object itself.
+ */
+ public WhatIfChange withChangeType(ChangeType changeType) {
+ this.changeType = changeType;
+ return this;
+ }
+
+ /**
+ * Get the snapshot of the resource before the deployment is executed.
+ *
+ * @return the before value
+ */
+ public Object before() {
+ return this.before;
+ }
+
+ /**
+ * Set the snapshot of the resource before the deployment is executed.
+ *
+ * @param before the before value to set
+ * @return the WhatIfChange object itself.
+ */
+ public WhatIfChange withBefore(Object before) {
+ this.before = before;
+ return this;
+ }
+
+ /**
+ * Get the predicted snapshot of the resource after the deployment is executed.
+ *
+ * @return the after value
+ */
+ public Object after() {
+ return this.after;
+ }
+
+ /**
+ * Set the predicted snapshot of the resource after the deployment is executed.
+ *
+ * @param after the after value to set
+ * @return the WhatIfChange object itself.
+ */
+ public WhatIfChange withAfter(Object after) {
+ this.after = after;
+ return this;
+ }
+
+ /**
+ * Get the predicted changes to resource properties.
+ *
+ * @return the delta value
+ */
+ public List delta() {
+ return this.delta;
+ }
+
+ /**
+ * Set the predicted changes to resource properties.
+ *
+ * @param delta the delta value to set
+ * @return the WhatIfChange object itself.
+ */
+ public WhatIfChange withDelta(List delta) {
+ this.delta = delta;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfOperationResult.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfOperationResult.java
new file mode 100644
index 0000000000000..d2c9bbd91baef
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfOperationResult.java
@@ -0,0 +1,36 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.ResourcesManager;
+import com.microsoft.azure.management.resources.v2019_08_01.implementation.WhatIfOperationResultInner;
+import java.util.List;
+
+/**
+ * Type representing WhatIfOperationResult.
+ */
+public interface WhatIfOperationResult extends HasInner, HasManager {
+ /**
+ * @return the changes value.
+ */
+ List changes();
+
+ /**
+ * @return the error value.
+ */
+ ErrorResponse error();
+
+ /**
+ * @return the status value.
+ */
+ String status();
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfPropertyChange.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfPropertyChange.java
new file mode 100644
index 0000000000000..630c96e7ea5ea
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfPropertyChange.java
@@ -0,0 +1,149 @@
+/**
+ * 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.resources.v2019_08_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The predicted change to the resource property.
+ */
+public class WhatIfPropertyChange {
+ /**
+ * The path of the property.
+ */
+ @JsonProperty(value = "path", required = true)
+ private String path;
+
+ /**
+ * The type of property change. Possible values include: 'Create',
+ * 'Delete', 'Modify', 'Array'.
+ */
+ @JsonProperty(value = "propertyChangeType", required = true)
+ private PropertyChangeType propertyChangeType;
+
+ /**
+ * The value of the property before the deployment is executed.
+ */
+ @JsonProperty(value = "before")
+ private Object before;
+
+ /**
+ * The value of the property after the deployment is executed.
+ */
+ @JsonProperty(value = "after")
+ private Object after;
+
+ /**
+ * Nested property changes.
+ */
+ @JsonProperty(value = "children")
+ private List children;
+
+ /**
+ * Get the path of the property.
+ *
+ * @return the path value
+ */
+ public String path() {
+ return this.path;
+ }
+
+ /**
+ * Set the path of the property.
+ *
+ * @param path the path value to set
+ * @return the WhatIfPropertyChange object itself.
+ */
+ public WhatIfPropertyChange withPath(String path) {
+ this.path = path;
+ return this;
+ }
+
+ /**
+ * Get the type of property change. Possible values include: 'Create', 'Delete', 'Modify', 'Array'.
+ *
+ * @return the propertyChangeType value
+ */
+ public PropertyChangeType propertyChangeType() {
+ return this.propertyChangeType;
+ }
+
+ /**
+ * Set the type of property change. Possible values include: 'Create', 'Delete', 'Modify', 'Array'.
+ *
+ * @param propertyChangeType the propertyChangeType value to set
+ * @return the WhatIfPropertyChange object itself.
+ */
+ public WhatIfPropertyChange withPropertyChangeType(PropertyChangeType propertyChangeType) {
+ this.propertyChangeType = propertyChangeType;
+ return this;
+ }
+
+ /**
+ * Get the value of the property before the deployment is executed.
+ *
+ * @return the before value
+ */
+ public Object before() {
+ return this.before;
+ }
+
+ /**
+ * Set the value of the property before the deployment is executed.
+ *
+ * @param before the before value to set
+ * @return the WhatIfPropertyChange object itself.
+ */
+ public WhatIfPropertyChange withBefore(Object before) {
+ this.before = before;
+ return this;
+ }
+
+ /**
+ * Get the value of the property after the deployment is executed.
+ *
+ * @return the after value
+ */
+ public Object after() {
+ return this.after;
+ }
+
+ /**
+ * Set the value of the property after the deployment is executed.
+ *
+ * @param after the after value to set
+ * @return the WhatIfPropertyChange object itself.
+ */
+ public WhatIfPropertyChange withAfter(Object after) {
+ this.after = after;
+ return this;
+ }
+
+ /**
+ * Get nested property changes.
+ *
+ * @return the children value
+ */
+ public List children() {
+ return this.children;
+ }
+
+ /**
+ * Set nested property changes.
+ *
+ * @param children the children value to set
+ * @return the WhatIfPropertyChange object itself.
+ */
+ public WhatIfPropertyChange withChildren(List children) {
+ this.children = children;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfResultFormat.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfResultFormat.java
new file mode 100644
index 0000000000000..69a56d763e6ef
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/WhatIfResultFormat.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.resources.v2019_08_01;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for WhatIfResultFormat.
+ */
+public enum WhatIfResultFormat {
+ /** Enum value ResourceIdOnly. */
+ RESOURCE_ID_ONLY("ResourceIdOnly"),
+
+ /** Enum value FullResourcePayloads. */
+ FULL_RESOURCE_PAYLOADS("FullResourcePayloads");
+
+ /** The actual serialized value for a WhatIfResultFormat instance. */
+ private String value;
+
+ WhatIfResultFormat(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a WhatIfResultFormat instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed WhatIfResultFormat object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static WhatIfResultFormat fromString(String value) {
+ WhatIfResultFormat[] items = WhatIfResultFormat.values();
+ for (WhatIfResultFormat item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExportResultImpl.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExportResultImpl.java
new file mode 100644
index 0000000000000..de276c5ae2aa3
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExportResultImpl.java
@@ -0,0 +1,31 @@
+/**
+ * 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.resources.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentExportResult;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class DeploymentExportResultImpl extends WrapperImpl implements DeploymentExportResult {
+ private final ResourcesManager manager;
+ DeploymentExportResultImpl(DeploymentExportResultInner inner, ResourcesManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public ResourcesManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Object template() {
+ return this.inner().template();
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExportResultInner.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExportResultInner.java
new file mode 100644
index 0000000000000..6c7506f838af6
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExportResultInner.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.resources.v2019_08_01.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The deployment export result.
+ */
+public class DeploymentExportResultInner {
+ /**
+ * The template content.
+ */
+ @JsonProperty(value = "template")
+ private Object template;
+
+ /**
+ * Get the template content.
+ *
+ * @return the template value
+ */
+ public Object template() {
+ return this.template;
+ }
+
+ /**
+ * Set the template content.
+ *
+ * @param template the template value to set
+ * @return the DeploymentExportResultInner object itself.
+ */
+ public DeploymentExportResultInner withTemplate(Object template) {
+ this.template = template;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExtendedImpl.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExtendedImpl.java
new file mode 100644
index 0000000000000..69f55368dec44
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExtendedImpl.java
@@ -0,0 +1,137 @@
+/**
+ * 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.resources.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentExtended;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentProperties;
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentPropertiesExtended;
+import rx.functions.Func1;
+
+class DeploymentExtendedImpl extends CreatableUpdatableImpl implements DeploymentExtended, DeploymentExtended.Definition, DeploymentExtended.Update {
+ private String resourceGroupName;
+ private String deploymentName;
+ private DeploymentInner createOrUpdateParameter;
+ private final ResourcesManager manager;
+
+ DeploymentExtendedImpl(String name, ResourcesManager manager) {
+ super(name, new DeploymentExtendedInner());
+ this.manager = manager;
+ // Set resource name
+ this.deploymentName = name;
+ //
+ this.createOrUpdateParameter = new DeploymentInner();
+ }
+
+ DeploymentExtendedImpl(DeploymentExtendedInner inner, ResourcesManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.deploymentName = inner.name();
+ // set resource ancestor and positional variables
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourcegroups");
+ this.deploymentName = IdParsingUtils.getValueFromIdByName(inner.id(), "deployments");
+ // set other parameters for create and update
+ this.createOrUpdateParameter = new DeploymentInner();
+ }
+
+ @Override
+ public ResourcesManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ DeploymentsInner client = this.manager().inner().deployments();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.deploymentName, this.createOrUpdateParameter)
+ .map(new Func1() {
+ @Override
+ public DeploymentExtendedInner call(DeploymentExtendedInner resource) {
+ resetCreateUpdateParameters();
+ return resource;
+ }
+ })
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ DeploymentsInner client = this.manager().inner().deployments();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.deploymentName, this.createOrUpdateParameter)
+ .map(new Func1() {
+ @Override
+ public DeploymentExtendedInner call(DeploymentExtendedInner resource) {
+ resetCreateUpdateParameters();
+ return resource;
+ }
+ })
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ DeploymentsInner client = this.manager().inner().deployments();
+ return client.getByResourceGroupAsync(this.resourceGroupName, this.deploymentName);
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+ private void resetCreateUpdateParameters() {
+ this.createOrUpdateParameter = new DeploymentInner();
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String location() {
+ return this.inner().location();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public DeploymentPropertiesExtended properties() {
+ return this.inner().properties();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public DeploymentExtendedImpl withResourceGroupName(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ @Override
+ public DeploymentExtendedImpl withProperties(DeploymentProperties properties) {
+ this.createOrUpdateParameter.withProperties(properties);
+ return this;
+ }
+
+ @Override
+ public DeploymentExtendedImpl withLocation(String location) {
+ this.createOrUpdateParameter.withLocation(location);
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExtendedInner.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExtendedInner.java
new file mode 100644
index 0000000000000..9960963591fd2
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentExtendedInner.java
@@ -0,0 +1,71 @@
+/**
+ * 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.resources.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentPropertiesExtended;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.azure.ProxyResource;
+
+/**
+ * Deployment information.
+ */
+public class DeploymentExtendedInner extends ProxyResource {
+ /**
+ * the location of the deployment.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Deployment properties.
+ */
+ @JsonProperty(value = "properties")
+ private DeploymentPropertiesExtended properties;
+
+ /**
+ * Get the location of the deployment.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location of the deployment.
+ *
+ * @param location the location value to set
+ * @return the DeploymentExtendedInner object itself.
+ */
+ public DeploymentExtendedInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get deployment properties.
+ *
+ * @return the properties value
+ */
+ public DeploymentPropertiesExtended properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set deployment properties.
+ *
+ * @param properties the properties value to set
+ * @return the DeploymentExtendedInner object itself.
+ */
+ public DeploymentExtendedInner withProperties(DeploymentPropertiesExtended properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentInner.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentInner.java
new file mode 100644
index 0000000000000..043de948136d6
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentInner.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.resources.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment operation parameters.
+ */
+public class DeploymentInner {
+ /**
+ * The location to store the deployment data.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * The deployment properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private DeploymentProperties properties;
+
+ /**
+ * Get the location to store the deployment data.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location to store the deployment data.
+ *
+ * @param location the location value to set
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the deployment properties.
+ *
+ * @return the properties value
+ */
+ public DeploymentProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the deployment properties.
+ *
+ * @param properties the properties value to set
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withProperties(DeploymentProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationImpl.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationImpl.java
new file mode 100644
index 0000000000000..b169955b114f6
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationImpl.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.resources.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentOperation;
+import com.microsoft.azure.arm.model.implementation.IndexableRefreshableWrapperImpl;
+import rx.Observable;
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentOperationProperties;
+
+class DeploymentOperationImpl extends IndexableRefreshableWrapperImpl implements DeploymentOperation {
+ private final ResourcesManager manager;
+ private String scope;
+ private String deploymentName;
+ private String operationId;
+
+ DeploymentOperationImpl(DeploymentOperationInner inner, ResourcesManager manager) {
+ super(null, inner);
+ this.manager = manager;
+ // set resource ancestor and positional variables
+ this.deploymentName = IdParsingUtils.getValueFromIdByName(inner.id(), "deployments");
+ this.operationId = IdParsingUtils.getValueFromIdByName(inner.id(), "operations");
+ this.scope = IdParsingUtils.getValueFromIdByPosition(inner.id(), 0);
+ }
+
+ @Override
+ public ResourcesManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ DeploymentOperationsInner client = this.manager().inner().deploymentOperations();
+ return client.getAtScopeAsync(this.scope, this.deploymentName, this.operationId);
+ }
+
+
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String operationId() {
+ return this.inner().operationId();
+ }
+
+ @Override
+ public DeploymentOperationProperties properties() {
+ return this.inner().properties();
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationInner.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationInner.java
new file mode 100644
index 0000000000000..1c99aefbc1038
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationInner.java
@@ -0,0 +1,74 @@
+/**
+ * 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.resources.v2019_08_01.implementation;
+
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentOperationProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Deployment operation information.
+ */
+public class DeploymentOperationInner {
+ /**
+ * Full deployment operation ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /**
+ * Deployment operation ID.
+ */
+ @JsonProperty(value = "operationId", access = JsonProperty.Access.WRITE_ONLY)
+ private String operationId;
+
+ /**
+ * Deployment properties.
+ */
+ @JsonProperty(value = "properties")
+ private DeploymentOperationProperties properties;
+
+ /**
+ * Get full deployment operation ID.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get deployment operation ID.
+ *
+ * @return the operationId value
+ */
+ public String operationId() {
+ return this.operationId;
+ }
+
+ /**
+ * Get deployment properties.
+ *
+ * @return the properties value
+ */
+ public DeploymentOperationProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set deployment properties.
+ *
+ * @param properties the properties value to set
+ * @return the DeploymentOperationInner object itself.
+ */
+ public DeploymentOperationInner withProperties(DeploymentOperationProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationsImpl.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationsImpl.java
new file mode 100644
index 0000000000000..22274046b94d8
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationsImpl.java
@@ -0,0 +1,189 @@
+/**
+ * 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.resources.v2019_08_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentOperations;
+import rx.Observable;
+import rx.functions.Func1;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.resources.v2019_08_01.DeploymentOperation;
+
+class DeploymentOperationsImpl extends WrapperImpl implements DeploymentOperations {
+ private final ResourcesManager manager;
+
+ DeploymentOperationsImpl(ResourcesManager manager) {
+ super(manager.inner().deploymentOperations());
+ this.manager = manager;
+ }
+
+ public ResourcesManager manager() {
+ return this.manager;
+ }
+
+ private DeploymentOperationImpl wrapModel(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+
+ @Override
+ public Observable getAtTenantScopeAsync(String deploymentName, String operationId) {
+ DeploymentOperationsInner client = this.inner();
+ return client.getAtTenantScopeAsync(deploymentName, operationId)
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable listAtTenantScopeAsync(final String deploymentName) {
+ DeploymentOperationsInner client = this.inner();
+ return client.listAtTenantScopeAsync(deploymentName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable getAtManagementGroupScopeAsync(String groupId, String deploymentName, String operationId) {
+ DeploymentOperationsInner client = this.inner();
+ return client.getAtManagementGroupScopeAsync(groupId, deploymentName, operationId)
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable listAtManagementGroupScopeAsync(final String groupId, final String deploymentName) {
+ DeploymentOperationsInner client = this.inner();
+ return client.listAtManagementGroupScopeAsync(groupId, deploymentName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable getAtSubscriptionScopeAsync(String deploymentName, String operationId) {
+ DeploymentOperationsInner client = this.inner();
+ return client.getAtSubscriptionScopeAsync(deploymentName, operationId)
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable listAtSubscriptionScopeAsync(final String deploymentName) {
+ DeploymentOperationsInner client = this.inner();
+ return client.listAtSubscriptionScopeAsync(deploymentName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable getAsync(String resourceGroupName, String deploymentName, String operationId) {
+ DeploymentOperationsInner client = this.inner();
+ return client.getAsync(resourceGroupName, deploymentName, operationId)
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable listByResourceGroupAsync(final String resourceGroupName, final String deploymentName) {
+ DeploymentOperationsInner client = this.inner();
+ return client.listByResourceGroupAsync(resourceGroupName, deploymentName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return new DeploymentOperationImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable listAtScopeAsync(final String scope, final String deploymentName) {
+ DeploymentOperationsInner client = this.inner();
+ return client.listAtScopeAsync(scope, deploymentName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public DeploymentOperation call(DeploymentOperationInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public Observable getAtScopeAsync(String scope, String deploymentName, String operationId) {
+ DeploymentOperationsInner client = this.inner();
+ return client.getAtScopeAsync(scope, deploymentName, operationId)
+ .flatMap(new Func1>() {
+ @Override
+ public Observable call(DeploymentOperationInner inner) {
+ if (inner == null) {
+ return Observable.empty();
+ } else {
+ return Observable.just((DeploymentOperation)wrapModel(inner));
+ }
+ }
+ });
+ }
+
+}
diff --git a/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationsInner.java b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationsInner.java
new file mode 100644
index 0000000000000..ebe919694a15f
--- /dev/null
+++ b/sdk/resources/mgmt-v2019_08_01/src/main/java/com/microsoft/azure/management/resources/v2019_08_01/implementation/DeploymentOperationsInner.java
@@ -0,0 +1,2294 @@
+/**
+ * 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.resources.v2019_08_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.ListOperationCallback;
+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 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.http.Url;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in DeploymentOperations.
+ */
+public class DeploymentOperationsInner {
+ /** The Retrofit service to perform REST calls. */
+ private DeploymentOperationsService service;
+ /** The service client containing this operation class. */
+ private ResourceManagementClientImpl client;
+
+ /**
+ * Initializes an instance of DeploymentOperationsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public DeploymentOperationsInner(Retrofit retrofit, ResourceManagementClientImpl client) {
+ this.service = retrofit.create(DeploymentOperationsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for DeploymentOperations to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface DeploymentOperationsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.resources.v2019_08_01.DeploymentOperations getAtScope" })
+ @GET("{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}")
+ Observable> getAtScope(@Path("scope") String scope, @Path("deploymentName") String deploymentName, @Path("operationId") String operationId, @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.resources.v2019_08_01.DeploymentOperations listAtScope" })
+ @GET("{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations")
+ Observable> listAtScope(@Path("scope") String scope, @Path("deploymentName") String deploymentName, @Query("$top") Integer top, @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.resources.v2019_08_01.DeploymentOperations getAtTenantScope" })
+ @GET("providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}")
+ Observable> getAtTenantScope(@Path("deploymentName") String deploymentName, @Path("operationId") String operationId, @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.resources.v2019_08_01.DeploymentOperations listAtTenantScope" })
+ @GET("providers/Microsoft.Resources/deployments/{deploymentName}/operations")
+ Observable> listAtTenantScope(@Path("deploymentName") String deploymentName, @Query("$top") Integer top, @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.resources.v2019_08_01.DeploymentOperations getAtManagementGroupScope" })
+ @GET("providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}")
+ Observable> getAtManagementGroupScope(@Path("groupId") String groupId, @Path("deploymentName") String deploymentName, @Path("operationId") String operationId, @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.resources.v2019_08_01.DeploymentOperations listAtManagementGroupScope" })
+ @GET("providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations")
+ Observable> listAtManagementGroupScope(@Path("groupId") String groupId, @Path("deploymentName") String deploymentName, @Query("$top") Integer top, @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.resources.v2019_08_01.DeploymentOperations getAtSubscriptionScope" })
+ @GET("subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}")
+ Observable> getAtSubscriptionScope(@Path("deploymentName") String deploymentName, @Path("operationId") String operationId, @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.resources.v2019_08_01.DeploymentOperations listAtSubscriptionScope" })
+ @GET("subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations")
+ Observable> listAtSubscriptionScope(@Path("deploymentName") String deploymentName, @Path("subscriptionId") String subscriptionId, @Query("$top") Integer top, @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.resources.v2019_08_01.DeploymentOperations get" })
+ @GET("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}")
+ Observable> get(@Path("resourceGroupName") String resourceGroupName, @Path("deploymentName") String deploymentName, @Path("operationId") String operationId, @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.resources.v2019_08_01.DeploymentOperations listByResourceGroup" })
+ @GET("subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations")
+ Observable> listByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("deploymentName") String deploymentName, @Path("subscriptionId") String subscriptionId, @Query("$top") Integer top, @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.resources.v2019_08_01.DeploymentOperations listAtScopeNext" })
+ @GET
+ Observable> listAtScopeNext(@Url String nextUrl, @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.resources.v2019_08_01.DeploymentOperations listAtTenantScopeNext" })
+ @GET
+ Observable> listAtTenantScopeNext(@Url String nextUrl, @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.resources.v2019_08_01.DeploymentOperations listAtManagementGroupScopeNext" })
+ @GET
+ Observable> listAtManagementGroupScopeNext(@Url String nextUrl, @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.resources.v2019_08_01.DeploymentOperations listAtSubscriptionScopeNext" })
+ @GET
+ Observable> listAtSubscriptionScopeNext(@Url String nextUrl, @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.resources.v2019_08_01.DeploymentOperations listByResourceGroupNext" })
+ @GET
+ Observable> listByResourceGroupNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Gets a deployments operation.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @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 DeploymentOperationInner object if successful.
+ */
+ public DeploymentOperationInner getAtScope(String scope, String deploymentName, String operationId) {
+ return getAtScopeWithServiceResponseAsync(scope, deploymentName, operationId).toBlocking().single().body();
+ }
+
+ /**
+ * Gets a deployments operation.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @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 getAtScopeAsync(String scope, String deploymentName, String operationId, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getAtScopeWithServiceResponseAsync(scope, deploymentName, operationId), serviceCallback);
+ }
+
+ /**
+ * Gets a deployments operation.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the DeploymentOperationInner object
+ */
+ public Observable getAtScopeAsync(String scope, String deploymentName, String operationId) {
+ return getAtScopeWithServiceResponseAsync(scope, deploymentName, operationId).map(new Func1, DeploymentOperationInner>() {
+ @Override
+ public DeploymentOperationInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Gets a deployments operation.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @param operationId The ID of the operation to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the DeploymentOperationInner object
+ */
+ public Observable> getAtScopeWithServiceResponseAsync(String scope, String deploymentName, String operationId) {
+ if (scope == null) {
+ throw new IllegalArgumentException("Parameter scope is required and cannot be null.");
+ }
+ if (deploymentName == null) {
+ throw new IllegalArgumentException("Parameter deploymentName is required and cannot be null.");
+ }
+ if (operationId == null) {
+ throw new IllegalArgumentException("Parameter operationId 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.getAtScope(scope, deploymentName, operationId, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getAtScopeDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getAtScopeDelegate(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);
+ }
+
+ /**
+ * Gets all deployments operations for a deployment.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @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 PagedList<DeploymentOperationInner> object if successful.
+ */
+ public PagedList listAtScope(final String scope, final String deploymentName) {
+ ServiceResponse> response = listAtScopeSinglePageAsync(scope, deploymentName).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listAtScopeNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Gets all deployments operations for a deployment.
+ *
+ * @param scope The scope of a deployment.
+ * @param deploymentName The name of the deployment.
+ * @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