diff --git a/hdinsight/resource-manager/v2015_03_01_preview/pom.xml b/hdinsight/resource-manager/v2015_03_01_preview/pom.xml
new file mode 100644
index 000000000000..1e732c29951d
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+ com.microsoft.azure.hdinsight.v2015_03_01_preview
+
+ com.microsoft.azure
+ azure-arm-parent
+ 0.0.3-beta
+ ../../../pom.xml
+
+ azure-mgmt-hdinsight
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for HDInsight Management
+ This package contains Microsoft HDInsight Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.7
+ 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/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Application.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Application.java
new file mode 100644
index 000000000000..c90403770501
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Application.java
@@ -0,0 +1,176 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.ApplicationInner;
+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.hdinsight.v2015_03_01_preview.implementation.HDInsightManager;
+import java.util.Map;
+
+/**
+ * Type representing Application.
+ */
+public interface Application extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the etag value.
+ */
+ String etag();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ ApplicationProperties properties();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the Application definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithCluster, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Application definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Application definition.
+ */
+ interface Blank extends WithCluster {
+ }
+
+ /**
+ * The stage of the application definition allowing to specify Cluster.
+ */
+ interface WithCluster {
+ /**
+ * Specifies resourceGroupName, clusterName.
+ * @param resourceGroupName The name of the resource group
+ * @param clusterName The name of the cluster
+ * @return the next definition stage
+ */
+ WithCreate withExistingCluster(String resourceGroupName, String clusterName);
+ }
+
+ /**
+ * The stage of the application definition allowing to specify Etag.
+ */
+ interface WithEtag {
+ /**
+ * Specifies etag.
+ * @param etag The ETag for the application
+ * @return the next definition stage
+ */
+ WithCreate withEtag(String etag);
+ }
+
+ /**
+ * The stage of the application definition allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties The properties of the application
+ * @return the next definition stage
+ */
+ WithCreate withProperties(ApplicationProperties properties);
+ }
+
+ /**
+ * The stage of the application definition allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags The tags for the application
+ * @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.WithEtag, DefinitionStages.WithProperties, DefinitionStages.WithTags {
+ }
+ }
+ /**
+ * The template for a Application update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithEtag, UpdateStages.WithProperties, UpdateStages.WithTags {
+ }
+
+ /**
+ * Grouping of Application update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the application update allowing to specify Etag.
+ */
+ interface WithEtag {
+ /**
+ * Specifies etag.
+ * @param etag The ETag for the application
+ * @return the next update stage
+ */
+ Update withEtag(String etag);
+ }
+
+ /**
+ * The stage of the application update allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties The properties of the application
+ * @return the next update stage
+ */
+ Update withProperties(ApplicationProperties properties);
+ }
+
+ /**
+ * The stage of the application update allowing to specify Tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies tags.
+ * @param tags The tags for the application
+ * @return the next update stage
+ */
+ Update withTags(Map tags);
+ }
+
+ }
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationGetEndpoint.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationGetEndpoint.java
new file mode 100644
index 000000000000..30aad4561990
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationGetEndpoint.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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Gets the application SSH endpoint.
+ */
+public class ApplicationGetEndpoint {
+ /**
+ * The location of the endpoint.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * The destination port to connect to.
+ */
+ @JsonProperty(value = "destinationPort")
+ private Integer destinationPort;
+
+ /**
+ * The public port to connect to.
+ */
+ @JsonProperty(value = "publicPort")
+ private Integer publicPort;
+
+ /**
+ * Get the location of the endpoint.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location of the endpoint.
+ *
+ * @param location the location value to set
+ * @return the ApplicationGetEndpoint object itself.
+ */
+ public ApplicationGetEndpoint withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the destination port to connect to.
+ *
+ * @return the destinationPort value
+ */
+ public Integer destinationPort() {
+ return this.destinationPort;
+ }
+
+ /**
+ * Set the destination port to connect to.
+ *
+ * @param destinationPort the destinationPort value to set
+ * @return the ApplicationGetEndpoint object itself.
+ */
+ public ApplicationGetEndpoint withDestinationPort(Integer destinationPort) {
+ this.destinationPort = destinationPort;
+ return this;
+ }
+
+ /**
+ * Get the public port to connect to.
+ *
+ * @return the publicPort value
+ */
+ public Integer publicPort() {
+ return this.publicPort;
+ }
+
+ /**
+ * Set the public port to connect to.
+ *
+ * @param publicPort the publicPort value to set
+ * @return the ApplicationGetEndpoint object itself.
+ */
+ public ApplicationGetEndpoint withPublicPort(Integer publicPort) {
+ this.publicPort = publicPort;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationGetHttpsEndpoint.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationGetHttpsEndpoint.java
new file mode 100644
index 000000000000..dd239dd523b7
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationGetHttpsEndpoint.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.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Gets the application HTTP endpoints.
+ */
+public class ApplicationGetHttpsEndpoint {
+ /**
+ * The list of access modes for the application.
+ */
+ @JsonProperty(value = "accessModes")
+ private List accessModes;
+
+ /**
+ * The location of the endpoint.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * The destination port to connect to.
+ */
+ @JsonProperty(value = "destinationPort")
+ private Integer destinationPort;
+
+ /**
+ * The public port to connect to.
+ */
+ @JsonProperty(value = "publicPort")
+ private Integer publicPort;
+
+ /**
+ * Get the list of access modes for the application.
+ *
+ * @return the accessModes value
+ */
+ public List accessModes() {
+ return this.accessModes;
+ }
+
+ /**
+ * Set the list of access modes for the application.
+ *
+ * @param accessModes the accessModes value to set
+ * @return the ApplicationGetHttpsEndpoint object itself.
+ */
+ public ApplicationGetHttpsEndpoint withAccessModes(List accessModes) {
+ this.accessModes = accessModes;
+ return this;
+ }
+
+ /**
+ * Get the location of the endpoint.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location of the endpoint.
+ *
+ * @param location the location value to set
+ * @return the ApplicationGetHttpsEndpoint object itself.
+ */
+ public ApplicationGetHttpsEndpoint withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the destination port to connect to.
+ *
+ * @return the destinationPort value
+ */
+ public Integer destinationPort() {
+ return this.destinationPort;
+ }
+
+ /**
+ * Set the destination port to connect to.
+ *
+ * @param destinationPort the destinationPort value to set
+ * @return the ApplicationGetHttpsEndpoint object itself.
+ */
+ public ApplicationGetHttpsEndpoint withDestinationPort(Integer destinationPort) {
+ this.destinationPort = destinationPort;
+ return this;
+ }
+
+ /**
+ * Get the public port to connect to.
+ *
+ * @return the publicPort value
+ */
+ public Integer publicPort() {
+ return this.publicPort;
+ }
+
+ /**
+ * Set the public port to connect to.
+ *
+ * @param publicPort the publicPort value to set
+ * @return the ApplicationGetHttpsEndpoint object itself.
+ */
+ public ApplicationGetHttpsEndpoint withPublicPort(Integer publicPort) {
+ this.publicPort = publicPort;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationProperties.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationProperties.java
new file mode 100644
index 000000000000..d675073be994
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ApplicationProperties.java
@@ -0,0 +1,260 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The HDInsight cluster application GET response.
+ */
+public class ApplicationProperties {
+ /**
+ * The list of roles in the cluster.
+ */
+ @JsonProperty(value = "computeProfile")
+ private ComputeProfile computeProfile;
+
+ /**
+ * The list of install script actions.
+ */
+ @JsonProperty(value = "installScriptActions")
+ private List installScriptActions;
+
+ /**
+ * The list of uninstall script actions.
+ */
+ @JsonProperty(value = "uninstallScriptActions")
+ private List uninstallScriptActions;
+
+ /**
+ * The list of application HTTPS endpoints.
+ */
+ @JsonProperty(value = "httpsEndpoints")
+ private List httpsEndpoints;
+
+ /**
+ * The list of application SSH endpoints.
+ */
+ @JsonProperty(value = "sshEndpoints")
+ private List sshEndpoints;
+
+ /**
+ * The provisioning state of the application.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * The application type.
+ */
+ @JsonProperty(value = "applicationType")
+ private String applicationType;
+
+ /**
+ * The application state.
+ */
+ @JsonProperty(value = "applicationState", access = JsonProperty.Access.WRITE_ONLY)
+ private String applicationState;
+
+ /**
+ * The list of errors.
+ */
+ @JsonProperty(value = "errors")
+ private List errors;
+
+ /**
+ * The application create date time.
+ */
+ @JsonProperty(value = "createdDate", access = JsonProperty.Access.WRITE_ONLY)
+ private String createdDate;
+
+ /**
+ * The marketplace identifier.
+ */
+ @JsonProperty(value = "marketplaceIdentifier", access = JsonProperty.Access.WRITE_ONLY)
+ private String marketplaceIdentifier;
+
+ /**
+ * Get the list of roles in the cluster.
+ *
+ * @return the computeProfile value
+ */
+ public ComputeProfile computeProfile() {
+ return this.computeProfile;
+ }
+
+ /**
+ * Set the list of roles in the cluster.
+ *
+ * @param computeProfile the computeProfile value to set
+ * @return the ApplicationProperties object itself.
+ */
+ public ApplicationProperties withComputeProfile(ComputeProfile computeProfile) {
+ this.computeProfile = computeProfile;
+ return this;
+ }
+
+ /**
+ * Get the list of install script actions.
+ *
+ * @return the installScriptActions value
+ */
+ public List installScriptActions() {
+ return this.installScriptActions;
+ }
+
+ /**
+ * Set the list of install script actions.
+ *
+ * @param installScriptActions the installScriptActions value to set
+ * @return the ApplicationProperties object itself.
+ */
+ public ApplicationProperties withInstallScriptActions(List installScriptActions) {
+ this.installScriptActions = installScriptActions;
+ return this;
+ }
+
+ /**
+ * Get the list of uninstall script actions.
+ *
+ * @return the uninstallScriptActions value
+ */
+ public List uninstallScriptActions() {
+ return this.uninstallScriptActions;
+ }
+
+ /**
+ * Set the list of uninstall script actions.
+ *
+ * @param uninstallScriptActions the uninstallScriptActions value to set
+ * @return the ApplicationProperties object itself.
+ */
+ public ApplicationProperties withUninstallScriptActions(List uninstallScriptActions) {
+ this.uninstallScriptActions = uninstallScriptActions;
+ return this;
+ }
+
+ /**
+ * Get the list of application HTTPS endpoints.
+ *
+ * @return the httpsEndpoints value
+ */
+ public List httpsEndpoints() {
+ return this.httpsEndpoints;
+ }
+
+ /**
+ * Set the list of application HTTPS endpoints.
+ *
+ * @param httpsEndpoints the httpsEndpoints value to set
+ * @return the ApplicationProperties object itself.
+ */
+ public ApplicationProperties withHttpsEndpoints(List httpsEndpoints) {
+ this.httpsEndpoints = httpsEndpoints;
+ return this;
+ }
+
+ /**
+ * Get the list of application SSH endpoints.
+ *
+ * @return the sshEndpoints value
+ */
+ public List sshEndpoints() {
+ return this.sshEndpoints;
+ }
+
+ /**
+ * Set the list of application SSH endpoints.
+ *
+ * @param sshEndpoints the sshEndpoints value to set
+ * @return the ApplicationProperties object itself.
+ */
+ public ApplicationProperties withSshEndpoints(List sshEndpoints) {
+ this.sshEndpoints = sshEndpoints;
+ return this;
+ }
+
+ /**
+ * Get the provisioning state of the application.
+ *
+ * @return the provisioningState value
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the application type.
+ *
+ * @return the applicationType value
+ */
+ public String applicationType() {
+ return this.applicationType;
+ }
+
+ /**
+ * Set the application type.
+ *
+ * @param applicationType the applicationType value to set
+ * @return the ApplicationProperties object itself.
+ */
+ public ApplicationProperties withApplicationType(String applicationType) {
+ this.applicationType = applicationType;
+ return this;
+ }
+
+ /**
+ * Get the application state.
+ *
+ * @return the applicationState value
+ */
+ public String applicationState() {
+ return this.applicationState;
+ }
+
+ /**
+ * Get the list of errors.
+ *
+ * @return the errors value
+ */
+ public List errors() {
+ return this.errors;
+ }
+
+ /**
+ * Set the list of errors.
+ *
+ * @param errors the errors value to set
+ * @return the ApplicationProperties object itself.
+ */
+ public ApplicationProperties withErrors(List errors) {
+ this.errors = errors;
+ return this;
+ }
+
+ /**
+ * Get the application create date time.
+ *
+ * @return the createdDate value
+ */
+ public String createdDate() {
+ return this.createdDate;
+ }
+
+ /**
+ * Get the marketplace identifier.
+ *
+ * @return the marketplaceIdentifier value
+ */
+ public String marketplaceIdentifier() {
+ return this.marketplaceIdentifier;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Applications.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Applications.java
new file mode 100644
index 000000000000..cd4e43545737
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Applications.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.hdinsight.v2015_03_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.ApplicationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Applications.
+ */
+public interface Applications extends SupportsCreating, HasInner {
+ /**
+ * Lists properties of the specified application.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @param applicationName The constant value for the application name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String clusterName, String applicationName);
+
+ /**
+ * Lists all of the applications for the HDInsight cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String clusterName);
+
+ /**
+ * Deletes the specified application on the HDInsight cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @param applicationName The constant value for the application name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String clusterName, String applicationName);
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AsyncOperationState.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AsyncOperationState.java
new file mode 100644
index 000000000000..b4114684d7be
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AsyncOperationState.java
@@ -0,0 +1,56 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for AsyncOperationState.
+ */
+public enum AsyncOperationState {
+ /** Enum value InProgress. */
+ IN_PROGRESS("InProgress"),
+
+ /** Enum value Succeeded. */
+ SUCCEEDED("Succeeded"),
+
+ /** Enum value Failed. */
+ FAILED("Failed");
+
+ /** The actual serialized value for a AsyncOperationState instance. */
+ private String value;
+
+ AsyncOperationState(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a AsyncOperationState instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed AsyncOperationState object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static AsyncOperationState fromString(String value) {
+ AsyncOperationState[] items = AsyncOperationState.values();
+ for (AsyncOperationState item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Autoscale.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Autoscale.java
new file mode 100644
index 000000000000..9b158937804a
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Autoscale.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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The autoscale request parameters.
+ */
+public class Autoscale {
+ /**
+ * Parameters for load-based autoscale.
+ */
+ @JsonProperty(value = "capacity")
+ private AutoscaleCapacity capacity;
+
+ /**
+ * Parameters for schedule-based autoscale.
+ */
+ @JsonProperty(value = "recurrence")
+ private AutoscaleRecurrence recurrence;
+
+ /**
+ * Get parameters for load-based autoscale.
+ *
+ * @return the capacity value
+ */
+ public AutoscaleCapacity capacity() {
+ return this.capacity;
+ }
+
+ /**
+ * Set parameters for load-based autoscale.
+ *
+ * @param capacity the capacity value to set
+ * @return the Autoscale object itself.
+ */
+ public Autoscale withCapacity(AutoscaleCapacity capacity) {
+ this.capacity = capacity;
+ return this;
+ }
+
+ /**
+ * Get parameters for schedule-based autoscale.
+ *
+ * @return the recurrence value
+ */
+ public AutoscaleRecurrence recurrence() {
+ return this.recurrence;
+ }
+
+ /**
+ * Set parameters for schedule-based autoscale.
+ *
+ * @param recurrence the recurrence value to set
+ * @return the Autoscale object itself.
+ */
+ public Autoscale withRecurrence(AutoscaleRecurrence recurrence) {
+ this.recurrence = recurrence;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleCapacity.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleCapacity.java
new file mode 100644
index 000000000000..8249388ec345
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleCapacity.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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The load-based autoscale request parameters.
+ */
+public class AutoscaleCapacity {
+ /**
+ * The minimum instance count of the cluster.
+ */
+ @JsonProperty(value = "minInstanceCount")
+ private Integer minInstanceCount;
+
+ /**
+ * The maximum instance count of the cluster.
+ */
+ @JsonProperty(value = "maxInstanceCount")
+ private Integer maxInstanceCount;
+
+ /**
+ * Get the minimum instance count of the cluster.
+ *
+ * @return the minInstanceCount value
+ */
+ public Integer minInstanceCount() {
+ return this.minInstanceCount;
+ }
+
+ /**
+ * Set the minimum instance count of the cluster.
+ *
+ * @param minInstanceCount the minInstanceCount value to set
+ * @return the AutoscaleCapacity object itself.
+ */
+ public AutoscaleCapacity withMinInstanceCount(Integer minInstanceCount) {
+ this.minInstanceCount = minInstanceCount;
+ return this;
+ }
+
+ /**
+ * Get the maximum instance count of the cluster.
+ *
+ * @return the maxInstanceCount value
+ */
+ public Integer maxInstanceCount() {
+ return this.maxInstanceCount;
+ }
+
+ /**
+ * Set the maximum instance count of the cluster.
+ *
+ * @param maxInstanceCount the maxInstanceCount value to set
+ * @return the AutoscaleCapacity object itself.
+ */
+ public AutoscaleCapacity withMaxInstanceCount(Integer maxInstanceCount) {
+ this.maxInstanceCount = maxInstanceCount;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleRecurrence.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleRecurrence.java
new file mode 100644
index 000000000000..42d0c231fe2a
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleRecurrence.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.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Schedule-based autoscale request parameters.
+ */
+public class AutoscaleRecurrence {
+ /**
+ * The time zone for the autoscale schedule times.
+ */
+ @JsonProperty(value = "timeZone")
+ private String timeZone;
+
+ /**
+ * Array of schedule-based autoscale rules.
+ */
+ @JsonProperty(value = "schedule")
+ private List schedule;
+
+ /**
+ * Get the time zone for the autoscale schedule times.
+ *
+ * @return the timeZone value
+ */
+ public String timeZone() {
+ return this.timeZone;
+ }
+
+ /**
+ * Set the time zone for the autoscale schedule times.
+ *
+ * @param timeZone the timeZone value to set
+ * @return the AutoscaleRecurrence object itself.
+ */
+ public AutoscaleRecurrence withTimeZone(String timeZone) {
+ this.timeZone = timeZone;
+ return this;
+ }
+
+ /**
+ * Get array of schedule-based autoscale rules.
+ *
+ * @return the schedule value
+ */
+ public List schedule() {
+ return this.schedule;
+ }
+
+ /**
+ * Set array of schedule-based autoscale rules.
+ *
+ * @param schedule the schedule value to set
+ * @return the AutoscaleRecurrence object itself.
+ */
+ public AutoscaleRecurrence withSchedule(List schedule) {
+ this.schedule = schedule;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleSchedule.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleSchedule.java
new file mode 100644
index 000000000000..fe8d2e3966bc
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleSchedule.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.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Parameters for a schedule-based autoscale rule, consisting of an array of
+ * days + a time and capacity.
+ */
+public class AutoscaleSchedule {
+ /**
+ * Days of the week for a schedule-based autoscale rule.
+ */
+ @JsonProperty(value = "days")
+ private List days;
+
+ /**
+ * Time and capacity for a schedule-based autoscale rule.
+ */
+ @JsonProperty(value = "timeAndCapacity")
+ private AutoscaleTimeAndCapacity timeAndCapacity;
+
+ /**
+ * Get days of the week for a schedule-based autoscale rule.
+ *
+ * @return the days value
+ */
+ public List days() {
+ return this.days;
+ }
+
+ /**
+ * Set days of the week for a schedule-based autoscale rule.
+ *
+ * @param days the days value to set
+ * @return the AutoscaleSchedule object itself.
+ */
+ public AutoscaleSchedule withDays(List days) {
+ this.days = days;
+ return this;
+ }
+
+ /**
+ * Get time and capacity for a schedule-based autoscale rule.
+ *
+ * @return the timeAndCapacity value
+ */
+ public AutoscaleTimeAndCapacity timeAndCapacity() {
+ return this.timeAndCapacity;
+ }
+
+ /**
+ * Set time and capacity for a schedule-based autoscale rule.
+ *
+ * @param timeAndCapacity the timeAndCapacity value to set
+ * @return the AutoscaleSchedule object itself.
+ */
+ public AutoscaleSchedule withTimeAndCapacity(AutoscaleTimeAndCapacity timeAndCapacity) {
+ this.timeAndCapacity = timeAndCapacity;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleTimeAndCapacity.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleTimeAndCapacity.java
new file mode 100644
index 000000000000..70f42740330d
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/AutoscaleTimeAndCapacity.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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Time and capacity request parameters.
+ */
+public class AutoscaleTimeAndCapacity {
+ /**
+ * 24-hour time in the form xx:xx.
+ */
+ @JsonProperty(value = "time")
+ private String time;
+
+ /**
+ * The minimum instance count of the cluster.
+ */
+ @JsonProperty(value = "minInstanceCount")
+ private Integer minInstanceCount;
+
+ /**
+ * The maximum instance count of the cluster.
+ */
+ @JsonProperty(value = "maxInstanceCount")
+ private Integer maxInstanceCount;
+
+ /**
+ * Get 24-hour time in the form xx:xx.
+ *
+ * @return the time value
+ */
+ public String time() {
+ return this.time;
+ }
+
+ /**
+ * Set 24-hour time in the form xx:xx.
+ *
+ * @param time the time value to set
+ * @return the AutoscaleTimeAndCapacity object itself.
+ */
+ public AutoscaleTimeAndCapacity withTime(String time) {
+ this.time = time;
+ return this;
+ }
+
+ /**
+ * Get the minimum instance count of the cluster.
+ *
+ * @return the minInstanceCount value
+ */
+ public Integer minInstanceCount() {
+ return this.minInstanceCount;
+ }
+
+ /**
+ * Set the minimum instance count of the cluster.
+ *
+ * @param minInstanceCount the minInstanceCount value to set
+ * @return the AutoscaleTimeAndCapacity object itself.
+ */
+ public AutoscaleTimeAndCapacity withMinInstanceCount(Integer minInstanceCount) {
+ this.minInstanceCount = minInstanceCount;
+ return this;
+ }
+
+ /**
+ * Get the maximum instance count of the cluster.
+ *
+ * @return the maxInstanceCount value
+ */
+ public Integer maxInstanceCount() {
+ return this.maxInstanceCount;
+ }
+
+ /**
+ * Set the maximum instance count of the cluster.
+ *
+ * @param maxInstanceCount the maxInstanceCount value to set
+ * @return the AutoscaleTimeAndCapacity object itself.
+ */
+ public AutoscaleTimeAndCapacity withMaxInstanceCount(Integer maxInstanceCount) {
+ this.maxInstanceCount = maxInstanceCount;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingMeters.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingMeters.java
new file mode 100644
index 000000000000..9542b815b015
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingMeters.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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The billing meters.
+ */
+public class BillingMeters {
+ /**
+ * The virtual machine sizes.
+ */
+ @JsonProperty(value = "meterParameter")
+ private String meterParameter;
+
+ /**
+ * The HDInsight meter guid.
+ */
+ @JsonProperty(value = "meter")
+ private String meter;
+
+ /**
+ * The unit of meter, VMHours or CoreHours.
+ */
+ @JsonProperty(value = "unit")
+ private String unit;
+
+ /**
+ * Get the virtual machine sizes.
+ *
+ * @return the meterParameter value
+ */
+ public String meterParameter() {
+ return this.meterParameter;
+ }
+
+ /**
+ * Set the virtual machine sizes.
+ *
+ * @param meterParameter the meterParameter value to set
+ * @return the BillingMeters object itself.
+ */
+ public BillingMeters withMeterParameter(String meterParameter) {
+ this.meterParameter = meterParameter;
+ return this;
+ }
+
+ /**
+ * Get the HDInsight meter guid.
+ *
+ * @return the meter value
+ */
+ public String meter() {
+ return this.meter;
+ }
+
+ /**
+ * Set the HDInsight meter guid.
+ *
+ * @param meter the meter value to set
+ * @return the BillingMeters object itself.
+ */
+ public BillingMeters withMeter(String meter) {
+ this.meter = meter;
+ return this;
+ }
+
+ /**
+ * Get the unit of meter, VMHours or CoreHours.
+ *
+ * @return the unit value
+ */
+ public String unit() {
+ return this.unit;
+ }
+
+ /**
+ * Set the unit of meter, VMHours or CoreHours.
+ *
+ * @param unit the unit value to set
+ * @return the BillingMeters object itself.
+ */
+ public BillingMeters withUnit(String unit) {
+ this.unit = unit;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingResources.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingResources.java
new file mode 100644
index 000000000000..7ce9bd009b41
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingResources.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The billing resources.
+ */
+public class BillingResources {
+ /**
+ * The region or location.
+ */
+ @JsonProperty(value = "region")
+ private String region;
+
+ /**
+ * The billing meter information.
+ */
+ @JsonProperty(value = "billingMeters")
+ private List billingMeters;
+
+ /**
+ * The managed disk billing information.
+ */
+ @JsonProperty(value = "diskBillingMeters")
+ private List diskBillingMeters;
+
+ /**
+ * Get the region or location.
+ *
+ * @return the region value
+ */
+ public String region() {
+ return this.region;
+ }
+
+ /**
+ * Set the region or location.
+ *
+ * @param region the region value to set
+ * @return the BillingResources object itself.
+ */
+ public BillingResources withRegion(String region) {
+ this.region = region;
+ return this;
+ }
+
+ /**
+ * Get the billing meter information.
+ *
+ * @return the billingMeters value
+ */
+ public List billingMeters() {
+ return this.billingMeters;
+ }
+
+ /**
+ * Set the billing meter information.
+ *
+ * @param billingMeters the billingMeters value to set
+ * @return the BillingResources object itself.
+ */
+ public BillingResources withBillingMeters(List billingMeters) {
+ this.billingMeters = billingMeters;
+ return this;
+ }
+
+ /**
+ * Get the managed disk billing information.
+ *
+ * @return the diskBillingMeters value
+ */
+ public List diskBillingMeters() {
+ return this.diskBillingMeters;
+ }
+
+ /**
+ * Set the managed disk billing information.
+ *
+ * @param diskBillingMeters the diskBillingMeters value to set
+ * @return the BillingResources object itself.
+ */
+ public BillingResources withDiskBillingMeters(List diskBillingMeters) {
+ this.diskBillingMeters = diskBillingMeters;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingResponseListResult.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingResponseListResult.java
new file mode 100644
index 000000000000..42cca81077af
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/BillingResponseListResult.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.hdinsight.v2015_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.HDInsightManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.BillingResponseListResultInner;
+import java.util.List;
+
+/**
+ * Type representing BillingResponseListResult.
+ */
+public interface BillingResponseListResult extends HasInner, HasManager {
+ /**
+ * @return the billingResources value.
+ */
+ List billingResources();
+
+ /**
+ * @return the vmSizeFilters value.
+ */
+ List vmSizeFilters();
+
+ /**
+ * @return the vmSizes value.
+ */
+ List vmSizes();
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/CapabilitiesResult.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/CapabilitiesResult.java
new file mode 100644
index 000000000000..30af6b8ba26f
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/CapabilitiesResult.java
@@ -0,0 +1,52 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.HDInsightManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.CapabilitiesResultInner;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Type representing CapabilitiesResult.
+ */
+public interface CapabilitiesResult extends HasInner, HasManager {
+ /**
+ * @return the features value.
+ */
+ List features();
+
+ /**
+ * @return the quota value.
+ */
+ QuotaCapability quota();
+
+ /**
+ * @return the regions value.
+ */
+ Map regions();
+
+ /**
+ * @return the versions value.
+ */
+ Map versions();
+
+ /**
+ * @return the vmSizeFilters value.
+ */
+ List vmSizeFilters();
+
+ /**
+ * @return the vmSizes value.
+ */
+ Map vmSizes();
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Cluster.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Cluster.java
new file mode 100644
index 000000000000..5e6b0d066dad
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Cluster.java
@@ -0,0 +1,131 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.HDInsightManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.ClusterInner;
+
+/**
+ * Type representing Cluster.
+ */
+public interface Cluster extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the etag value.
+ */
+ String etag();
+
+ /**
+ * @return the identity value.
+ */
+ ClusterIdentity identity();
+
+ /**
+ * @return the properties value.
+ */
+ ClusterGetProperties properties();
+
+ /**
+ * The entirety of the Cluster definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Cluster definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Cluster definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the Cluster definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the cluster definition allowing to specify Identity.
+ */
+ interface WithIdentity {
+ /**
+ * Specifies identity.
+ * @param identity The identity of the cluster, if configured
+ * @return the next definition stage
+ */
+ WithCreate withIdentity(ClusterIdentity identity);
+ }
+
+ /**
+ * The stage of the cluster definition allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties The cluster create parameters
+ * @return the next definition stage
+ */
+ WithCreate withProperties(ClusterCreateProperties properties);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithIdentity, DefinitionStages.WithProperties {
+ }
+ }
+ /**
+ * The template for a Cluster update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithIdentity, UpdateStages.WithProperties {
+ }
+
+ /**
+ * Grouping of Cluster update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the cluster update allowing to specify Identity.
+ */
+ interface WithIdentity {
+ /**
+ * Specifies identity.
+ * @param identity The identity of the cluster, if configured
+ * @return the next update stage
+ */
+ Update withIdentity(ClusterIdentity identity);
+ }
+
+ /**
+ * The stage of the cluster update allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties The cluster create parameters
+ * @return the next update stage
+ */
+ Update withProperties(ClusterCreateProperties properties);
+ }
+
+ }
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterConfigurations.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterConfigurations.java
new file mode 100644
index 000000000000..c7ea11c60ba2
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterConfigurations.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.hdinsight.v2015_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.HDInsightManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.ClusterConfigurationsInner;
+import java.util.Map;
+
+/**
+ * Type representing ClusterConfigurations.
+ */
+public interface ClusterConfigurations extends HasInner, HasManager {
+ /**
+ * @return the configurations value.
+ */
+ Map> configurations();
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterCreateParametersExtended.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterCreateParametersExtended.java
new file mode 100644
index 000000000000..9adf04bfadc4
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterCreateParametersExtended.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.hdinsight.v2015_03_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The CreateCluster request parameters.
+ */
+public class ClusterCreateParametersExtended {
+ /**
+ * The location of the cluster.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * The resource tags.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * The cluster create parameters.
+ */
+ @JsonProperty(value = "properties")
+ private ClusterCreateProperties properties;
+
+ /**
+ * The identity of the cluster, if configured.
+ */
+ @JsonProperty(value = "identity")
+ private ClusterIdentity identity;
+
+ /**
+ * Get the location of the cluster.
+ *
+ * @return the location value
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location of the cluster.
+ *
+ * @param location the location value to set
+ * @return the ClusterCreateParametersExtended object itself.
+ */
+ public ClusterCreateParametersExtended withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the resource tags.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the resource tags.
+ *
+ * @param tags the tags value to set
+ * @return the ClusterCreateParametersExtended object itself.
+ */
+ public ClusterCreateParametersExtended withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the cluster create parameters.
+ *
+ * @return the properties value
+ */
+ public ClusterCreateProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the cluster create parameters.
+ *
+ * @param properties the properties value to set
+ * @return the ClusterCreateParametersExtended object itself.
+ */
+ public ClusterCreateParametersExtended withProperties(ClusterCreateProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the identity of the cluster, if configured.
+ *
+ * @return the identity value
+ */
+ public ClusterIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity of the cluster, if configured.
+ *
+ * @param identity the identity value to set
+ * @return the ClusterCreateParametersExtended object itself.
+ */
+ public ClusterCreateParametersExtended withIdentity(ClusterIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterCreateProperties.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterCreateProperties.java
new file mode 100644
index 000000000000..d89e9dae041b
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterCreateProperties.java
@@ -0,0 +1,226 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The cluster create parameters.
+ */
+public class ClusterCreateProperties {
+ /**
+ * The version of the cluster.
+ */
+ @JsonProperty(value = "clusterVersion")
+ private String clusterVersion;
+
+ /**
+ * The type of operating system. Possible values include: 'Windows',
+ * 'Linux'.
+ */
+ @JsonProperty(value = "osType")
+ private OSType osType;
+
+ /**
+ * The cluster tier. Possible values include: 'Standard', 'Premium'.
+ */
+ @JsonProperty(value = "tier")
+ private Tier tier;
+
+ /**
+ * The cluster definition.
+ */
+ @JsonProperty(value = "clusterDefinition")
+ private ClusterDefinition clusterDefinition;
+
+ /**
+ * The security profile.
+ */
+ @JsonProperty(value = "securityProfile")
+ private SecurityProfile securityProfile;
+
+ /**
+ * The compute profile.
+ */
+ @JsonProperty(value = "computeProfile")
+ private ComputeProfile computeProfile;
+
+ /**
+ * The storage profile.
+ */
+ @JsonProperty(value = "storageProfile")
+ private StorageProfile storageProfile;
+
+ /**
+ * The disk encryption properties.
+ */
+ @JsonProperty(value = "diskEncryptionProperties")
+ private DiskEncryptionProperties diskEncryptionProperties;
+
+ /**
+ * Get the version of the cluster.
+ *
+ * @return the clusterVersion value
+ */
+ public String clusterVersion() {
+ return this.clusterVersion;
+ }
+
+ /**
+ * Set the version of the cluster.
+ *
+ * @param clusterVersion the clusterVersion value to set
+ * @return the ClusterCreateProperties object itself.
+ */
+ public ClusterCreateProperties withClusterVersion(String clusterVersion) {
+ this.clusterVersion = clusterVersion;
+ return this;
+ }
+
+ /**
+ * Get the type of operating system. Possible values include: 'Windows', 'Linux'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the type of operating system. Possible values include: 'Windows', 'Linux'.
+ *
+ * @param osType the osType value to set
+ * @return the ClusterCreateProperties object itself.
+ */
+ public ClusterCreateProperties withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the cluster tier. Possible values include: 'Standard', 'Premium'.
+ *
+ * @return the tier value
+ */
+ public Tier tier() {
+ return this.tier;
+ }
+
+ /**
+ * Set the cluster tier. Possible values include: 'Standard', 'Premium'.
+ *
+ * @param tier the tier value to set
+ * @return the ClusterCreateProperties object itself.
+ */
+ public ClusterCreateProperties withTier(Tier tier) {
+ this.tier = tier;
+ return this;
+ }
+
+ /**
+ * Get the cluster definition.
+ *
+ * @return the clusterDefinition value
+ */
+ public ClusterDefinition clusterDefinition() {
+ return this.clusterDefinition;
+ }
+
+ /**
+ * Set the cluster definition.
+ *
+ * @param clusterDefinition the clusterDefinition value to set
+ * @return the ClusterCreateProperties object itself.
+ */
+ public ClusterCreateProperties withClusterDefinition(ClusterDefinition clusterDefinition) {
+ this.clusterDefinition = clusterDefinition;
+ return this;
+ }
+
+ /**
+ * Get the security profile.
+ *
+ * @return the securityProfile value
+ */
+ public SecurityProfile securityProfile() {
+ return this.securityProfile;
+ }
+
+ /**
+ * Set the security profile.
+ *
+ * @param securityProfile the securityProfile value to set
+ * @return the ClusterCreateProperties object itself.
+ */
+ public ClusterCreateProperties withSecurityProfile(SecurityProfile securityProfile) {
+ this.securityProfile = securityProfile;
+ return this;
+ }
+
+ /**
+ * Get the compute profile.
+ *
+ * @return the computeProfile value
+ */
+ public ComputeProfile computeProfile() {
+ return this.computeProfile;
+ }
+
+ /**
+ * Set the compute profile.
+ *
+ * @param computeProfile the computeProfile value to set
+ * @return the ClusterCreateProperties object itself.
+ */
+ public ClusterCreateProperties withComputeProfile(ComputeProfile computeProfile) {
+ this.computeProfile = computeProfile;
+ return this;
+ }
+
+ /**
+ * Get the storage profile.
+ *
+ * @return the storageProfile value
+ */
+ public StorageProfile storageProfile() {
+ return this.storageProfile;
+ }
+
+ /**
+ * Set the storage profile.
+ *
+ * @param storageProfile the storageProfile value to set
+ * @return the ClusterCreateProperties object itself.
+ */
+ public ClusterCreateProperties withStorageProfile(StorageProfile storageProfile) {
+ this.storageProfile = storageProfile;
+ return this;
+ }
+
+ /**
+ * Get the disk encryption properties.
+ *
+ * @return the diskEncryptionProperties value
+ */
+ public DiskEncryptionProperties diskEncryptionProperties() {
+ return this.diskEncryptionProperties;
+ }
+
+ /**
+ * Set the disk encryption properties.
+ *
+ * @param diskEncryptionProperties the diskEncryptionProperties value to set
+ * @return the ClusterCreateProperties object itself.
+ */
+ public ClusterCreateProperties withDiskEncryptionProperties(DiskEncryptionProperties diskEncryptionProperties) {
+ this.diskEncryptionProperties = diskEncryptionProperties;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterDefinition.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterDefinition.java
new file mode 100644
index 000000000000..33fff49e4d75
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterDefinition.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.hdinsight.v2015_03_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The cluster definition.
+ */
+public class ClusterDefinition {
+ /**
+ * The link to the blueprint.
+ */
+ @JsonProperty(value = "blueprint")
+ private String blueprint;
+
+ /**
+ * The type of cluster.
+ */
+ @JsonProperty(value = "kind")
+ private String kind;
+
+ /**
+ * The versions of different services in the cluster.
+ */
+ @JsonProperty(value = "componentVersion")
+ private Map componentVersion;
+
+ /**
+ * The cluster configurations.
+ */
+ @JsonProperty(value = "configurations")
+ private Object configurations;
+
+ /**
+ * Get the link to the blueprint.
+ *
+ * @return the blueprint value
+ */
+ public String blueprint() {
+ return this.blueprint;
+ }
+
+ /**
+ * Set the link to the blueprint.
+ *
+ * @param blueprint the blueprint value to set
+ * @return the ClusterDefinition object itself.
+ */
+ public ClusterDefinition withBlueprint(String blueprint) {
+ this.blueprint = blueprint;
+ return this;
+ }
+
+ /**
+ * Get the type of cluster.
+ *
+ * @return the kind value
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set the type of cluster.
+ *
+ * @param kind the kind value to set
+ * @return the ClusterDefinition object itself.
+ */
+ public ClusterDefinition withKind(String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get the versions of different services in the cluster.
+ *
+ * @return the componentVersion value
+ */
+ public Map componentVersion() {
+ return this.componentVersion;
+ }
+
+ /**
+ * Set the versions of different services in the cluster.
+ *
+ * @param componentVersion the componentVersion value to set
+ * @return the ClusterDefinition object itself.
+ */
+ public ClusterDefinition withComponentVersion(Map componentVersion) {
+ this.componentVersion = componentVersion;
+ return this;
+ }
+
+ /**
+ * Get the cluster configurations.
+ *
+ * @return the configurations value
+ */
+ public Object configurations() {
+ return this.configurations;
+ }
+
+ /**
+ * Set the cluster configurations.
+ *
+ * @param configurations the configurations value to set
+ * @return the ClusterDefinition object itself.
+ */
+ public ClusterDefinition withConfigurations(Object configurations) {
+ this.configurations = configurations;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterDiskEncryptionParameters.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterDiskEncryptionParameters.java
new file mode 100644
index 000000000000..5f932508239f
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterDiskEncryptionParameters.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Disk Encryption Cluster request parameters.
+ */
+public class ClusterDiskEncryptionParameters {
+ /**
+ * Base key vault URI where the customers key is located eg.
+ * https://myvault.vault.azure.net.
+ */
+ @JsonProperty(value = "vaultUri")
+ private String vaultUri;
+
+ /**
+ * Key name that is used for enabling disk encryption.
+ */
+ @JsonProperty(value = "keyName")
+ private String keyName;
+
+ /**
+ * Specific key version that is used for enabling disk encryption.
+ */
+ @JsonProperty(value = "keyVersion")
+ private String keyVersion;
+
+ /**
+ * Get base key vault URI where the customers key is located eg. https://myvault.vault.azure.net.
+ *
+ * @return the vaultUri value
+ */
+ public String vaultUri() {
+ return this.vaultUri;
+ }
+
+ /**
+ * Set base key vault URI where the customers key is located eg. https://myvault.vault.azure.net.
+ *
+ * @param vaultUri the vaultUri value to set
+ * @return the ClusterDiskEncryptionParameters object itself.
+ */
+ public ClusterDiskEncryptionParameters withVaultUri(String vaultUri) {
+ this.vaultUri = vaultUri;
+ return this;
+ }
+
+ /**
+ * Get key name that is used for enabling disk encryption.
+ *
+ * @return the keyName value
+ */
+ public String keyName() {
+ return this.keyName;
+ }
+
+ /**
+ * Set key name that is used for enabling disk encryption.
+ *
+ * @param keyName the keyName value to set
+ * @return the ClusterDiskEncryptionParameters object itself.
+ */
+ public ClusterDiskEncryptionParameters withKeyName(String keyName) {
+ this.keyName = keyName;
+ return this;
+ }
+
+ /**
+ * Get specific key version that is used for enabling disk encryption.
+ *
+ * @return the keyVersion value
+ */
+ public String keyVersion() {
+ return this.keyVersion;
+ }
+
+ /**
+ * Set specific key version that is used for enabling disk encryption.
+ *
+ * @param keyVersion the keyVersion value to set
+ * @return the ClusterDiskEncryptionParameters object itself.
+ */
+ public ClusterDiskEncryptionParameters withKeyVersion(String keyVersion) {
+ this.keyVersion = keyVersion;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterGetProperties.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterGetProperties.java
new file mode 100644
index 000000000000..bd3ba6f48c0f
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterGetProperties.java
@@ -0,0 +1,359 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The properties of cluster.
+ */
+public class ClusterGetProperties {
+ /**
+ * The version of the cluster.
+ */
+ @JsonProperty(value = "clusterVersion")
+ private String clusterVersion;
+
+ /**
+ * The type of operating system. Possible values include: 'Windows',
+ * 'Linux'.
+ */
+ @JsonProperty(value = "osType")
+ private OSType osType;
+
+ /**
+ * The cluster tier. Possible values include: 'Standard', 'Premium'.
+ */
+ @JsonProperty(value = "tier")
+ private Tier tier;
+
+ /**
+ * The cluster definition.
+ */
+ @JsonProperty(value = "clusterDefinition", required = true)
+ private ClusterDefinition clusterDefinition;
+
+ /**
+ * The security profile.
+ */
+ @JsonProperty(value = "securityProfile")
+ private SecurityProfile securityProfile;
+
+ /**
+ * The compute profile.
+ */
+ @JsonProperty(value = "computeProfile")
+ private ComputeProfile computeProfile;
+
+ /**
+ * The provisioning state, which only appears in the response. Possible
+ * values include: 'InProgress', 'Failed', 'Succeeded', 'Canceled',
+ * 'Deleting'.
+ */
+ @JsonProperty(value = "provisioningState")
+ private HDInsightClusterProvisioningState provisioningState;
+
+ /**
+ * The date on which the cluster was created.
+ */
+ @JsonProperty(value = "createdDate")
+ private String createdDate;
+
+ /**
+ * The state of the cluster.
+ */
+ @JsonProperty(value = "clusterState")
+ private String clusterState;
+
+ /**
+ * The quota information.
+ */
+ @JsonProperty(value = "quotaInfo")
+ private QuotaInfo quotaInfo;
+
+ /**
+ * The list of errors.
+ */
+ @JsonProperty(value = "errors")
+ private List errors;
+
+ /**
+ * The list of connectivity endpoints.
+ */
+ @JsonProperty(value = "connectivityEndpoints")
+ private List connectivityEndpoints;
+
+ /**
+ * The disk encryption properties.
+ */
+ @JsonProperty(value = "diskEncryptionProperties")
+ private DiskEncryptionProperties diskEncryptionProperties;
+
+ /**
+ * Get the version of the cluster.
+ *
+ * @return the clusterVersion value
+ */
+ public String clusterVersion() {
+ return this.clusterVersion;
+ }
+
+ /**
+ * Set the version of the cluster.
+ *
+ * @param clusterVersion the clusterVersion value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withClusterVersion(String clusterVersion) {
+ this.clusterVersion = clusterVersion;
+ return this;
+ }
+
+ /**
+ * Get the type of operating system. Possible values include: 'Windows', 'Linux'.
+ *
+ * @return the osType value
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the type of operating system. Possible values include: 'Windows', 'Linux'.
+ *
+ * @param osType the osType value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the cluster tier. Possible values include: 'Standard', 'Premium'.
+ *
+ * @return the tier value
+ */
+ public Tier tier() {
+ return this.tier;
+ }
+
+ /**
+ * Set the cluster tier. Possible values include: 'Standard', 'Premium'.
+ *
+ * @param tier the tier value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withTier(Tier tier) {
+ this.tier = tier;
+ return this;
+ }
+
+ /**
+ * Get the cluster definition.
+ *
+ * @return the clusterDefinition value
+ */
+ public ClusterDefinition clusterDefinition() {
+ return this.clusterDefinition;
+ }
+
+ /**
+ * Set the cluster definition.
+ *
+ * @param clusterDefinition the clusterDefinition value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withClusterDefinition(ClusterDefinition clusterDefinition) {
+ this.clusterDefinition = clusterDefinition;
+ return this;
+ }
+
+ /**
+ * Get the security profile.
+ *
+ * @return the securityProfile value
+ */
+ public SecurityProfile securityProfile() {
+ return this.securityProfile;
+ }
+
+ /**
+ * Set the security profile.
+ *
+ * @param securityProfile the securityProfile value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withSecurityProfile(SecurityProfile securityProfile) {
+ this.securityProfile = securityProfile;
+ return this;
+ }
+
+ /**
+ * Get the compute profile.
+ *
+ * @return the computeProfile value
+ */
+ public ComputeProfile computeProfile() {
+ return this.computeProfile;
+ }
+
+ /**
+ * Set the compute profile.
+ *
+ * @param computeProfile the computeProfile value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withComputeProfile(ComputeProfile computeProfile) {
+ this.computeProfile = computeProfile;
+ return this;
+ }
+
+ /**
+ * Get the provisioning state, which only appears in the response. Possible values include: 'InProgress', 'Failed', 'Succeeded', 'Canceled', 'Deleting'.
+ *
+ * @return the provisioningState value
+ */
+ public HDInsightClusterProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Set the provisioning state, which only appears in the response. Possible values include: 'InProgress', 'Failed', 'Succeeded', 'Canceled', 'Deleting'.
+ *
+ * @param provisioningState the provisioningState value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withProvisioningState(HDInsightClusterProvisioningState provisioningState) {
+ this.provisioningState = provisioningState;
+ return this;
+ }
+
+ /**
+ * Get the date on which the cluster was created.
+ *
+ * @return the createdDate value
+ */
+ public String createdDate() {
+ return this.createdDate;
+ }
+
+ /**
+ * Set the date on which the cluster was created.
+ *
+ * @param createdDate the createdDate value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withCreatedDate(String createdDate) {
+ this.createdDate = createdDate;
+ return this;
+ }
+
+ /**
+ * Get the state of the cluster.
+ *
+ * @return the clusterState value
+ */
+ public String clusterState() {
+ return this.clusterState;
+ }
+
+ /**
+ * Set the state of the cluster.
+ *
+ * @param clusterState the clusterState value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withClusterState(String clusterState) {
+ this.clusterState = clusterState;
+ return this;
+ }
+
+ /**
+ * Get the quota information.
+ *
+ * @return the quotaInfo value
+ */
+ public QuotaInfo quotaInfo() {
+ return this.quotaInfo;
+ }
+
+ /**
+ * Set the quota information.
+ *
+ * @param quotaInfo the quotaInfo value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withQuotaInfo(QuotaInfo quotaInfo) {
+ this.quotaInfo = quotaInfo;
+ return this;
+ }
+
+ /**
+ * Get the list of errors.
+ *
+ * @return the errors value
+ */
+ public List errors() {
+ return this.errors;
+ }
+
+ /**
+ * Set the list of errors.
+ *
+ * @param errors the errors value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withErrors(List errors) {
+ this.errors = errors;
+ return this;
+ }
+
+ /**
+ * Get the list of connectivity endpoints.
+ *
+ * @return the connectivityEndpoints value
+ */
+ public List connectivityEndpoints() {
+ return this.connectivityEndpoints;
+ }
+
+ /**
+ * Set the list of connectivity endpoints.
+ *
+ * @param connectivityEndpoints the connectivityEndpoints value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withConnectivityEndpoints(List connectivityEndpoints) {
+ this.connectivityEndpoints = connectivityEndpoints;
+ return this;
+ }
+
+ /**
+ * Get the disk encryption properties.
+ *
+ * @return the diskEncryptionProperties value
+ */
+ public DiskEncryptionProperties diskEncryptionProperties() {
+ return this.diskEncryptionProperties;
+ }
+
+ /**
+ * Set the disk encryption properties.
+ *
+ * @param diskEncryptionProperties the diskEncryptionProperties value to set
+ * @return the ClusterGetProperties object itself.
+ */
+ public ClusterGetProperties withDiskEncryptionProperties(DiskEncryptionProperties diskEncryptionProperties) {
+ this.diskEncryptionProperties = diskEncryptionProperties;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterIdentity.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterIdentity.java
new file mode 100644
index 000000000000..12d05f6302fc
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterIdentity.java
@@ -0,0 +1,107 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Identity for the cluster.
+ */
+public class ClusterIdentity {
+ /**
+ * The principal id of cluster identity. This property will only be
+ * provided for a system assigned identity.
+ */
+ @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY)
+ private String principalId;
+
+ /**
+ * The tenant id associated with the cluster. This property will only be
+ * provided for a system assigned identity.
+ */
+ @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY)
+ private String tenantId;
+
+ /**
+ * The type of identity used for the cluster. The type 'SystemAssigned,
+ * UserAssigned' includes both an implicitly created identity and a set of
+ * user assigned identities. Possible values include: 'SystemAssigned',
+ * 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ */
+ @JsonProperty(value = "type")
+ private ResourceIdentityType type;
+
+ /**
+ * The list of user identities associated with the cluster. 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 cluster identity. This property will only be provided for a system assigned identity.
+ *
+ * @return the principalId value
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Get the tenant id associated with the cluster. This property will only be provided for a system assigned identity.
+ *
+ * @return the tenantId value
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Get the type of identity used for the cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ *
+ * @return the type value
+ */
+ public ResourceIdentityType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type of identity used for the cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None'.
+ *
+ * @param type the type value to set
+ * @return the ClusterIdentity object itself.
+ */
+ public ClusterIdentity withType(ResourceIdentityType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the list of user identities associated with the cluster. 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 cluster. 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 ClusterIdentity object itself.
+ */
+ public ClusterIdentity withUserAssignedIdentities(Map userAssignedIdentities) {
+ this.userAssignedIdentities = userAssignedIdentities;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterIdentityUserAssignedIdentitiesValue.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterIdentityUserAssignedIdentitiesValue.java
new file mode 100644
index 000000000000..0003482f2b4e
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterIdentityUserAssignedIdentitiesValue.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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The ClusterIdentityUserAssignedIdentitiesValue model.
+ */
+public class ClusterIdentityUserAssignedIdentitiesValue {
+ /**
+ * 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/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterListPersistedScriptActionsResult.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterListPersistedScriptActionsResult.java
new file mode 100644
index 000000000000..4771a38f1a69
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterListPersistedScriptActionsResult.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.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The ListPersistedScriptActions operation response.
+ */
+public class ClusterListPersistedScriptActionsResult {
+ /**
+ * The list of Persisted Script Actions.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * The link (url) to the next page of results.
+ */
+ @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String nextLink;
+
+ /**
+ * Get the list of Persisted Script Actions.
+ *
+ * @return the value value
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the list of Persisted Script Actions.
+ *
+ * @param value the value value to set
+ * @return the ClusterListPersistedScriptActionsResult object itself.
+ */
+ public ClusterListPersistedScriptActionsResult withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the link (url) to the next page of results.
+ *
+ * @return the nextLink value
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterListRuntimeScriptActionDetailResult.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterListRuntimeScriptActionDetailResult.java
new file mode 100644
index 000000000000..dddb68eb68a8
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterListRuntimeScriptActionDetailResult.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.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.RuntimeScriptActionDetailInner;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The list runtime script action detail response.
+ */
+public class ClusterListRuntimeScriptActionDetailResult {
+ /**
+ * The list of persisted script action details for the cluster.
+ */
+ @JsonProperty(value = "value", access = JsonProperty.Access.WRITE_ONLY)
+ private List value;
+
+ /**
+ * The link (url) to the next page of results.
+ */
+ @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String nextLink;
+
+ /**
+ * Get the list of persisted script action details for the cluster.
+ *
+ * @return the value value
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Get the link (url) to the next page of results.
+ *
+ * @return the nextLink value
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterMonitoringRequest.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterMonitoringRequest.java
new file mode 100644
index 000000000000..ff83e029de9e
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterMonitoringRequest.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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Operations Management Suite (OMS) parameters.
+ */
+public class ClusterMonitoringRequest {
+ /**
+ * The Operations Management Suite (OMS) workspace ID.
+ */
+ @JsonProperty(value = "workspaceId")
+ private String workspaceId;
+
+ /**
+ * The Operations Management Suite (OMS) workspace key.
+ */
+ @JsonProperty(value = "primaryKey")
+ private String primaryKey;
+
+ /**
+ * Get the Operations Management Suite (OMS) workspace ID.
+ *
+ * @return the workspaceId value
+ */
+ public String workspaceId() {
+ return this.workspaceId;
+ }
+
+ /**
+ * Set the Operations Management Suite (OMS) workspace ID.
+ *
+ * @param workspaceId the workspaceId value to set
+ * @return the ClusterMonitoringRequest object itself.
+ */
+ public ClusterMonitoringRequest withWorkspaceId(String workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ /**
+ * Get the Operations Management Suite (OMS) workspace key.
+ *
+ * @return the primaryKey value
+ */
+ public String primaryKey() {
+ return this.primaryKey;
+ }
+
+ /**
+ * Set the Operations Management Suite (OMS) workspace key.
+ *
+ * @param primaryKey the primaryKey value to set
+ * @return the ClusterMonitoringRequest object itself.
+ */
+ public ClusterMonitoringRequest withPrimaryKey(String primaryKey) {
+ this.primaryKey = primaryKey;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterMonitoringResponse.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterMonitoringResponse.java
new file mode 100644
index 000000000000..2c32a0b24c6f
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterMonitoringResponse.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.hdinsight.v2015_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.HDInsightManager;
+import com.microsoft.azure.management.hdinsight.v2015_03_01_preview.implementation.ClusterMonitoringResponseInner;
+
+/**
+ * Type representing ClusterMonitoringResponse.
+ */
+public interface ClusterMonitoringResponse extends HasInner, HasManager {
+ /**
+ * @return the clusterMonitoringEnabled value.
+ */
+ Boolean clusterMonitoringEnabled();
+
+ /**
+ * @return the workspaceId value.
+ */
+ String workspaceId();
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterPatchParameters.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterPatchParameters.java
new file mode 100644
index 000000000000..0a0e38b05177
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterPatchParameters.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.hdinsight.v2015_03_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The PatchCluster request parameters.
+ */
+public class ClusterPatchParameters {
+ /**
+ * The resource tags.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get the resource tags.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the resource tags.
+ *
+ * @param tags the tags value to set
+ * @return the ClusterPatchParameters object itself.
+ */
+ public ClusterPatchParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterResizeParameters.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterResizeParameters.java
new file mode 100644
index 000000000000..19d32fc0983b
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ClusterResizeParameters.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.hdinsight.v2015_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The Resize Cluster request parameters.
+ */
+public class ClusterResizeParameters {
+ /**
+ * The target instance count for the operation.
+ */
+ @JsonProperty(value = "targetInstanceCount")
+ private Integer targetInstanceCount;
+
+ /**
+ * Get the target instance count for the operation.
+ *
+ * @return the targetInstanceCount value
+ */
+ public Integer targetInstanceCount() {
+ return this.targetInstanceCount;
+ }
+
+ /**
+ * Set the target instance count for the operation.
+ *
+ * @param targetInstanceCount the targetInstanceCount value to set
+ * @return the ClusterResizeParameters object itself.
+ */
+ public ClusterResizeParameters withTargetInstanceCount(Integer targetInstanceCount) {
+ this.targetInstanceCount = targetInstanceCount;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Clusters.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Clusters.java
new file mode 100644
index 000000000000..ba835dfcfc5f
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Clusters.java
@@ -0,0 +1,79 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+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.hdinsight.v2015_03_01_preview.implementation.ClustersInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Clusters.
+ */
+public interface Clusters extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Rotate disk encryption key of the specified HDInsight cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @param parameters The parameters for the disk encryption operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable rotateDiskEncryptionKeyAsync(String resourceGroupName, String clusterName, ClusterDiskEncryptionParameters parameters);
+
+ /**
+ * Gets the gateway settings for the specified cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getGatewaySettingsAsync(String resourceGroupName, String clusterName);
+
+ /**
+ * Configures the gateway settings on the specified cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @param parameters The cluster configurations.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable updateGatewaySettingsAsync(String resourceGroupName, String clusterName, UpdateGatewaySettingsParameters parameters);
+
+ /**
+ * Executes script actions on the specified HDInsight cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @param parameters The parameters for executing script actions.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable executeScriptActionsAsync(String resourceGroupName, String clusterName, ExecuteScriptActionParameters parameters);
+
+ /**
+ * Resizes the specified HDInsight cluster to the specified size.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable resizeAsync(String resourceGroupName, String clusterName);
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ComputeProfile.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ComputeProfile.java
new file mode 100644
index 000000000000..3b49a2fa7da1
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/ComputeProfile.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.hdinsight.v2015_03_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes the compute profile.
+ */
+public class ComputeProfile {
+ /**
+ * The list of roles in the cluster.
+ */
+ @JsonProperty(value = "roles")
+ private List roles;
+
+ /**
+ * Get the list of roles in the cluster.
+ *
+ * @return the roles value
+ */
+ public List roles() {
+ return this.roles;
+ }
+
+ /**
+ * Set the list of roles in the cluster.
+ *
+ * @param roles the roles value to set
+ * @return the ComputeProfile object itself.
+ */
+ public ComputeProfile withRoles(List roles) {
+ this.roles = roles;
+ return this;
+ }
+
+}
diff --git a/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Configurations.java b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Configurations.java
new file mode 100644
index 000000000000..280a01f0ccc0
--- /dev/null
+++ b/hdinsight/resource-manager/v2015_03_01_preview/src/main/java/com/microsoft/azure/management/hdinsight/v2015_03_01_preview/Configurations.java
@@ -0,0 +1,52 @@
+/**
+ * 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.hdinsight.v2015_03_01_preview;
+
+import rx.Observable;
+import rx.Completable;
+import java.util.Map;
+
+/**
+ * Type representing Configurations.
+ */
+public interface Configurations {
+ /**
+ * Gets all configuration information for an HDI cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(String resourceGroupName, String clusterName);
+
+ /**
+ * Configures the HTTP settings on the specified cluster. This API is deprecated, please use UpdateGatewaySettings in cluster endpoint instead.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @param configurationName The name of the cluster configuration.
+ * @param parameters The cluster configurations.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable updateAsync(String resourceGroupName, String clusterName, String configurationName, Map parameters);
+
+ /**
+ * The configuration object for the specified cluster. This API is not recommended and might be removed in the future. Please consider using List configurations API instead.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterName The name of the cluster.
+ * @param configurationName The name of the cluster configuration.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable