scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of HDInsightOnAks service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the HDInsightOnAks service API instance.
+ */
+ public HDInsightOnAksManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new HDInsightOnAksManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of ClusterPools. It manages ClusterPool.
+ *
+ * @return Resource collection API of ClusterPools.
+ */
+ public ClusterPools clusterPools() {
+ if (this.clusterPools == null) {
+ this.clusterPools = new ClusterPoolsImpl(clientObject.getClusterPools(), this);
+ }
+ return clusterPools;
+ }
+
+ /**
+ * Gets the resource collection API of Clusters. It manages Cluster.
+ *
+ * @return Resource collection API of Clusters.
+ */
+ public Clusters clusters() {
+ if (this.clusters == null) {
+ this.clusters = new ClustersImpl(clientObject.getClusters(), this);
+ }
+ return clusters;
+ }
+
+ /**
+ * Gets the resource collection API of ClusterJobs.
+ *
+ * @return Resource collection API of ClusterJobs.
+ */
+ public ClusterJobs clusterJobs() {
+ if (this.clusterJobs == null) {
+ this.clusterJobs = new ClusterJobsImpl(clientObject.getClusterJobs(), this);
+ }
+ return clusterJobs;
+ }
+
+ /**
+ * Gets the resource collection API of Locations.
+ *
+ * @return Resource collection API of Locations.
+ */
+ public Locations locations() {
+ if (this.locations == null) {
+ this.locations = new LocationsImpl(clientObject.getLocations(), this);
+ }
+ return locations;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of AvailableClusterPoolVersions.
+ *
+ * @return Resource collection API of AvailableClusterPoolVersions.
+ */
+ public AvailableClusterPoolVersions availableClusterPoolVersions() {
+ if (this.availableClusterPoolVersions == null) {
+ this.availableClusterPoolVersions =
+ new AvailableClusterPoolVersionsImpl(clientObject.getAvailableClusterPoolVersions(), this);
+ }
+ return availableClusterPoolVersions;
+ }
+
+ /**
+ * Gets the resource collection API of AvailableClusterVersions.
+ *
+ * @return Resource collection API of AvailableClusterVersions.
+ */
+ public AvailableClusterVersions availableClusterVersions() {
+ if (this.availableClusterVersions == null) {
+ this.availableClusterVersions =
+ new AvailableClusterVersionsImpl(clientObject.getAvailableClusterVersions(), this);
+ }
+ return availableClusterVersions;
+ }
+
+ /**
+ * @return Wrapped service client HDInsightOnAksManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public HDInsightOnAksManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/AvailableClusterPoolVersionsClient.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/AvailableClusterPoolVersionsClient.java
new file mode 100644
index 000000000000..289aabcd3477
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/AvailableClusterPoolVersionsClient.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterPoolVersionInner;
+
+/** An instance of this class provides access to all the operations defined in AvailableClusterPoolVersionsClient. */
+public interface AvailableClusterPoolVersionsClient {
+ /**
+ * Returns a list of available cluster pool versions.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * Returns a list of available cluster pool versions.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/AvailableClusterVersionsClient.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/AvailableClusterVersionsClient.java
new file mode 100644
index 000000000000..5709b41cc5cb
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/AvailableClusterVersionsClient.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterVersionInner;
+
+/** An instance of this class provides access to all the operations defined in AvailableClusterVersionsClient. */
+public interface AvailableClusterVersionsClient {
+ /**
+ * Returns a list of available cluster versions.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * Returns a list of available cluster versions.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClusterJobsClient.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClusterJobsClient.java
new file mode 100644
index 000000000000..23245bf796b2
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClusterJobsClient.java
@@ -0,0 +1,120 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterJobInner;
+
+/** An instance of this class provides access to all the operations defined in ClusterJobsClient. */
+public interface ClusterJobsClient {
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterJobInner> beginRunJob(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterJobInner clusterJob);
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterJobInner> beginRunJob(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterJobInner clusterJob,
+ Context context);
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterJobInner runJob(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterJobInner clusterJob);
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterJobInner runJob(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterJobInner clusterJob,
+ Context context);
+
+ /**
+ * Get jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return jobs of HDInsight on AKS cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String clusterPoolName, String clusterName);
+
+ /**
+ * Get jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return jobs of HDInsight on AKS cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClusterPoolsClient.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClusterPoolsClient.java
new file mode 100644
index 000000000000..958616109cb8
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClusterPoolsClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterPoolInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ClusterPoolsClient. */
+public interface ClusterPoolsClient {
+ /**
+ * Gets a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a cluster pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String clusterPoolName, Context context);
+
+ /**
+ * Gets a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterPoolInner getByResourceGroup(String resourceGroupName, String clusterPoolName);
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterPoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool);
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterPoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool, Context context);
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterPoolInner createOrUpdate(String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool);
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterPoolInner createOrUpdate(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool, Context context);
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterPoolInner> beginUpdateTags(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags);
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterPoolInner> beginUpdateTags(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags, Context context);
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterPoolInner updateTags(String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags);
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterPoolInner updateTags(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags, Context context);
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterPoolName);
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterPoolName, Context context);
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterPoolName);
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterPoolName, Context context);
+
+ /**
+ * Gets the list of Cluster Pools within a Subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Cluster Pools within a Subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the list of Cluster Pools within a Subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Cluster Pools within a Subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClustersClient.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClustersClient.java
new file mode 100644
index 000000000000..61b6e29b8152
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/ClustersClient.java
@@ -0,0 +1,452 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterInstanceViewResultInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ServiceConfigResultInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPatch;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterResizeData;
+
+/** An instance of this class provides access to all the operations defined in ClustersClient. */
+public interface ClustersClient {
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByClusterPoolName(String resourceGroupName, String clusterPoolName);
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByClusterPoolName(
+ String resourceGroupName, String clusterPoolName, Context context);
+
+ /**
+ * Resize an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterResizeRequest Resize a cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginResize(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterResizeData clusterResizeRequest);
+
+ /**
+ * Resize an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterResizeRequest Resize a cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginResize(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterResizeData clusterResizeRequest,
+ Context context);
+
+ /**
+ * Resize an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterResizeRequest Resize a cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner resize(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterResizeData clusterResizeRequest);
+
+ /**
+ * Resize an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterResizeRequest Resize a cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner resize(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterResizeData clusterResizeRequest,
+ Context context);
+
+ /**
+ * Gets a HDInsight cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a HDInsight cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context);
+
+ /**
+ * Gets a HDInsight cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a HDInsight cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner get(String resourceGroupName, String clusterPoolName, String clusterName);
+
+ /**
+ * Creates a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param hDInsightCluster The cluster to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginCreate(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterInner hDInsightCluster);
+
+ /**
+ * Creates a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param hDInsightCluster The cluster to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginCreate(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterInner hDInsightCluster,
+ Context context);
+
+ /**
+ * Creates a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param hDInsightCluster The cluster to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner create(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterInner hDInsightCluster);
+
+ /**
+ * Creates a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param hDInsightCluster The cluster to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner create(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterInner hDInsightCluster,
+ Context context);
+
+ /**
+ * Updates an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterPatchRequest Patch a cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginUpdate(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterPatch clusterPatchRequest);
+
+ /**
+ * Updates an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterPatchRequest Patch a cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginUpdate(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterPatch clusterPatchRequest,
+ Context context);
+
+ /**
+ * Updates an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterPatchRequest Patch a cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner update(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterPatch clusterPatchRequest);
+
+ /**
+ * Updates an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterPatchRequest Patch a cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner update(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterPatch clusterPatchRequest,
+ Context context);
+
+ /**
+ * Deletes a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String clusterPoolName, String clusterName);
+
+ /**
+ * Deletes a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context);
+
+ /**
+ * Deletes a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterPoolName, String clusterName);
+
+ /**
+ * Deletes a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterPoolName, String clusterName, Context context);
+
+ /**
+ * Lists the config dump of all services running in cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster instance service configs api response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listServiceConfigs(
+ String resourceGroupName, String clusterPoolName, String clusterName);
+
+ /**
+ * Lists the config dump of all services running in cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster instance service configs api response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listServiceConfigs(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context);
+
+ /**
+ * Lists the lists of instance views.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the instance view of a HDInsight Cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listInstanceViews(
+ String resourceGroupName, String clusterPoolName, String clusterName);
+
+ /**
+ * Lists the lists of instance views.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the instance view of a HDInsight Cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listInstanceViews(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context);
+
+ /**
+ * Gets the status of a cluster instance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a cluster instance along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getInstanceViewWithResponse(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context);
+
+ /**
+ * Gets the status of a cluster instance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a cluster instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInstanceViewResultInner getInstanceView(
+ String resourceGroupName, String clusterPoolName, String clusterName);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/HDInsightOnAksManagementClient.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/HDInsightOnAksManagementClient.java
new file mode 100644
index 000000000000..6fd976d234d7
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/HDInsightOnAksManagementClient.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for HDInsightOnAksManagementClient class. */
+public interface HDInsightOnAksManagementClient {
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the ClusterPoolsClient object to access its operations.
+ *
+ * @return the ClusterPoolsClient object.
+ */
+ ClusterPoolsClient getClusterPools();
+
+ /**
+ * Gets the ClustersClient object to access its operations.
+ *
+ * @return the ClustersClient object.
+ */
+ ClustersClient getClusters();
+
+ /**
+ * Gets the ClusterJobsClient object to access its operations.
+ *
+ * @return the ClusterJobsClient object.
+ */
+ ClusterJobsClient getClusterJobs();
+
+ /**
+ * Gets the LocationsClient object to access its operations.
+ *
+ * @return the LocationsClient object.
+ */
+ LocationsClient getLocations();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the AvailableClusterPoolVersionsClient object to access its operations.
+ *
+ * @return the AvailableClusterPoolVersionsClient object.
+ */
+ AvailableClusterPoolVersionsClient getAvailableClusterPoolVersions();
+
+ /**
+ * Gets the AvailableClusterVersionsClient object to access its operations.
+ *
+ * @return the AvailableClusterVersionsClient object.
+ */
+ AvailableClusterVersionsClient getAvailableClusterVersions();
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/LocationsClient.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/LocationsClient.java
new file mode 100644
index 000000000000..f8ccad50e3bb
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/LocationsClient.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.NameAvailabilityResultInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.NameAvailabilityParameters;
+
+/** An instance of this class provides access to all the operations defined in LocationsClient. */
+public interface LocationsClient {
+ /**
+ * Check the availability of the resource name.
+ *
+ * @param location The name of the Azure region.
+ * @param nameAvailabilityParameters The name and type of the resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of check name availability along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(
+ String location, NameAvailabilityParameters nameAvailabilityParameters, Context context);
+
+ /**
+ * Check the availability of the resource name.
+ *
+ * @param location The name of the Azure region.
+ * @param nameAvailabilityParameters The name and type of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of check name availability.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NameAvailabilityResultInner checkNameAvailability(
+ String location, NameAvailabilityParameters nameAvailabilityParameters);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/OperationsClient.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/OperationsClient.java
new file mode 100644
index 000000000000..2e826ccc4d9f
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/OperationsClient.java
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Returns list of operations.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Returns list of operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInner.java
new file mode 100644
index 000000000000..cea83fa91de1
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInner.java
@@ -0,0 +1,173 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ComputeProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ProvisioningStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** The cluster. */
+@Fluent
+public final class ClusterInner extends Resource {
+ /*
+ * Gets or sets the properties. Define cluster specific properties.
+ */
+ @JsonProperty(value = "properties")
+ private ClusterResourceProperties innerProperties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ClusterInner class. */
+ public ClusterInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Gets or sets the properties. Define cluster specific properties.
+ *
+ * @return the innerProperties value.
+ */
+ private ClusterResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClusterInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClusterInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStatus provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the clusterType property: The type of cluster.
+ *
+ * @return the clusterType value.
+ */
+ public String clusterType() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterType();
+ }
+
+ /**
+ * Set the clusterType property: The type of cluster.
+ *
+ * @param clusterType the clusterType value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withClusterType(String clusterType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterResourceProperties();
+ }
+ this.innerProperties().withClusterType(clusterType);
+ return this;
+ }
+
+ /**
+ * Get the deploymentId property: A unique id generated by the RP to identify the resource.
+ *
+ * @return the deploymentId value.
+ */
+ public String deploymentId() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentId();
+ }
+
+ /**
+ * Get the computeProfile property: The compute profile.
+ *
+ * @return the computeProfile value.
+ */
+ public ComputeProfile computeProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().computeProfile();
+ }
+
+ /**
+ * Set the computeProfile property: The compute profile.
+ *
+ * @param computeProfile the computeProfile value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withComputeProfile(ComputeProfile computeProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterResourceProperties();
+ }
+ this.innerProperties().withComputeProfile(computeProfile);
+ return this;
+ }
+
+ /**
+ * Get the clusterProfile property: Cluster profile.
+ *
+ * @return the clusterProfile value.
+ */
+ public ClusterProfile clusterProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterProfile();
+ }
+
+ /**
+ * Set the clusterProfile property: Cluster profile.
+ *
+ * @param clusterProfile the clusterProfile value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withClusterProfile(ClusterProfile clusterProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterResourceProperties();
+ }
+ this.innerProperties().withClusterProfile(clusterProfile);
+ return this;
+ }
+
+ /**
+ * Get the status property: Business status of the resource.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInstanceViewResultInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInstanceViewResultInner.java
new file mode 100644
index 000000000000..b63383122ab3
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInstanceViewResultInner.java
@@ -0,0 +1,133 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterInstanceViewPropertiesStatus;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ServiceStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Cluster Instance View. */
+@Fluent
+public final class ClusterInstanceViewResultInner {
+ /*
+ * Name of the instance view.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /*
+ * Properties of the instance view.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private ClusterInstanceViewResultProperties innerProperties = new ClusterInstanceViewResultProperties();
+
+ /** Creates an instance of ClusterInstanceViewResultInner class. */
+ public ClusterInstanceViewResultInner() {
+ }
+
+ /**
+ * Get the name property: Name of the instance view.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Name of the instance view.
+ *
+ * @param name the name value to set.
+ * @return the ClusterInstanceViewResultInner object itself.
+ */
+ public ClusterInstanceViewResultInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the innerProperties property: Properties of the instance view.
+ *
+ * @return the innerProperties value.
+ */
+ private ClusterInstanceViewResultProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the status property: Status of the instance view.
+ *
+ * @return the status value.
+ */
+ public ClusterInstanceViewPropertiesStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: Status of the instance view.
+ *
+ * @param status the status value to set.
+ * @return the ClusterInstanceViewResultInner object itself.
+ */
+ public ClusterInstanceViewResultInner withStatus(ClusterInstanceViewPropertiesStatus status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterInstanceViewResultProperties();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Get the serviceStatuses property: List of statuses of relevant services that make up the HDInsight on aks cluster
+ * to surface to the customer.
+ *
+ * @return the serviceStatuses value.
+ */
+ public List serviceStatuses() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceStatuses();
+ }
+
+ /**
+ * Set the serviceStatuses property: List of statuses of relevant services that make up the HDInsight on aks cluster
+ * to surface to the customer.
+ *
+ * @param serviceStatuses the serviceStatuses value to set.
+ * @return the ClusterInstanceViewResultInner object itself.
+ */
+ public ClusterInstanceViewResultInner withServiceStatuses(List serviceStatuses) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterInstanceViewResultProperties();
+ }
+ this.innerProperties().withServiceStatuses(serviceStatuses);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (name() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property name in model ClusterInstanceViewResultInner"));
+ }
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model ClusterInstanceViewResultInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ClusterInstanceViewResultInner.class);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInstanceViewResultProperties.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInstanceViewResultProperties.java
new file mode 100644
index 000000000000..eccdc7d37752
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterInstanceViewResultProperties.java
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterInstanceViewProperties;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterInstanceViewPropertiesStatus;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ServiceStatus;
+import java.util.List;
+
+/** Properties of the instance view. */
+@Fluent
+public final class ClusterInstanceViewResultProperties extends ClusterInstanceViewProperties {
+ /** Creates an instance of ClusterInstanceViewResultProperties class. */
+ public ClusterInstanceViewResultProperties() {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClusterInstanceViewResultProperties withStatus(ClusterInstanceViewPropertiesStatus status) {
+ super.withStatus(status);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClusterInstanceViewResultProperties withServiceStatuses(List serviceStatuses) {
+ super.withServiceStatuses(serviceStatuses);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterJobInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterJobInner.java
new file mode 100644
index 000000000000..66392d6116e7
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterJobInner.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterJobProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Cluster job. */
+@Fluent
+public final class ClusterJobInner extends ProxyResource {
+ /*
+ * Properties of cluster job.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private ClusterJobProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ClusterJobInner class. */
+ public ClusterJobInner() {
+ }
+
+ /**
+ * Get the properties property: Properties of cluster job.
+ *
+ * @return the properties value.
+ */
+ public ClusterJobProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties of cluster job.
+ *
+ * @param properties the properties value to set.
+ * @return the ClusterJobInner object itself.
+ */
+ public ClusterJobInner withProperties(ClusterJobProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property properties in model ClusterJobInner"));
+ } else {
+ properties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ClusterJobInner.class);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPatchProperties.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPatchProperties.java
new file mode 100644
index 000000000000..8e4c7622dc3d
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPatchProperties.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.UpdatableClusterProfile;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Cluster resource patch data. */
+@Fluent
+public final class ClusterPatchProperties {
+ /*
+ * Cluster resource patch properties.
+ */
+ @JsonProperty(value = "clusterProfile")
+ private UpdatableClusterProfile clusterProfile;
+
+ /** Creates an instance of ClusterPatchProperties class. */
+ public ClusterPatchProperties() {
+ }
+
+ /**
+ * Get the clusterProfile property: Cluster resource patch properties.
+ *
+ * @return the clusterProfile value.
+ */
+ public UpdatableClusterProfile clusterProfile() {
+ return this.clusterProfile;
+ }
+
+ /**
+ * Set the clusterProfile property: Cluster resource patch properties.
+ *
+ * @param clusterProfile the clusterProfile value to set.
+ * @return the ClusterPatchProperties object itself.
+ */
+ public ClusterPatchProperties withClusterProfile(UpdatableClusterProfile clusterProfile) {
+ this.clusterProfile = clusterProfile;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (clusterProfile() != null) {
+ clusterProfile().validate();
+ }
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolInner.java
new file mode 100644
index 000000000000..5e31b238a738
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolInner.java
@@ -0,0 +1,249 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesAksClusterProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesClusterPoolProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesComputeProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesLogAnalyticsProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesNetworkProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ProvisioningStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Cluster pool. */
+@Fluent
+public final class ClusterPoolInner extends Resource {
+ /*
+ * Gets or sets the properties. Define cluster pool specific properties.
+ */
+ @JsonProperty(value = "properties")
+ private ClusterPoolResourceProperties innerProperties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of ClusterPoolInner class. */
+ public ClusterPoolInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Gets or sets the properties. Define cluster pool specific properties.
+ *
+ * @return the innerProperties value.
+ */
+ private ClusterPoolResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClusterPoolInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ClusterPoolInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStatus provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentId property: A unique id generated by the RP to identify the resource.
+ *
+ * @return the deploymentId value.
+ */
+ public String deploymentId() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentId();
+ }
+
+ /**
+ * Get the managedResourceGroupName property: A resource group created by RP, to hold the resources created by RP
+ * on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern:
+ * MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name
+ * restriction.
+ *
+ * @return the managedResourceGroupName value.
+ */
+ public String managedResourceGroupName() {
+ return this.innerProperties() == null ? null : this.innerProperties().managedResourceGroupName();
+ }
+
+ /**
+ * Set the managedResourceGroupName property: A resource group created by RP, to hold the resources created by RP
+ * on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern:
+ * MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name
+ * restriction.
+ *
+ * @param managedResourceGroupName the managedResourceGroupName value to set.
+ * @return the ClusterPoolInner object itself.
+ */
+ public ClusterPoolInner withManagedResourceGroupName(String managedResourceGroupName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterPoolResourceProperties();
+ }
+ this.innerProperties().withManagedResourceGroupName(managedResourceGroupName);
+ return this;
+ }
+
+ /**
+ * Get the aksManagedResourceGroupName property: A resource group created by AKS, to hold the infrastructure
+ * resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group
+ * name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}.
+ *
+ * @return the aksManagedResourceGroupName value.
+ */
+ public String aksManagedResourceGroupName() {
+ return this.innerProperties() == null ? null : this.innerProperties().aksManagedResourceGroupName();
+ }
+
+ /**
+ * Get the clusterPoolProfile property: CLuster pool profile.
+ *
+ * @return the clusterPoolProfile value.
+ */
+ public ClusterPoolResourcePropertiesClusterPoolProfile clusterPoolProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterPoolProfile();
+ }
+
+ /**
+ * Set the clusterPoolProfile property: CLuster pool profile.
+ *
+ * @param clusterPoolProfile the clusterPoolProfile value to set.
+ * @return the ClusterPoolInner object itself.
+ */
+ public ClusterPoolInner withClusterPoolProfile(ClusterPoolResourcePropertiesClusterPoolProfile clusterPoolProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterPoolResourceProperties();
+ }
+ this.innerProperties().withClusterPoolProfile(clusterPoolProfile);
+ return this;
+ }
+
+ /**
+ * Get the computeProfile property: CLuster pool compute profile.
+ *
+ * @return the computeProfile value.
+ */
+ public ClusterPoolResourcePropertiesComputeProfile computeProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().computeProfile();
+ }
+
+ /**
+ * Set the computeProfile property: CLuster pool compute profile.
+ *
+ * @param computeProfile the computeProfile value to set.
+ * @return the ClusterPoolInner object itself.
+ */
+ public ClusterPoolInner withComputeProfile(ClusterPoolResourcePropertiesComputeProfile computeProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterPoolResourceProperties();
+ }
+ this.innerProperties().withComputeProfile(computeProfile);
+ return this;
+ }
+
+ /**
+ * Get the aksClusterProfile property: Properties of underlying AKS cluster.
+ *
+ * @return the aksClusterProfile value.
+ */
+ public ClusterPoolResourcePropertiesAksClusterProfile aksClusterProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().aksClusterProfile();
+ }
+
+ /**
+ * Get the networkProfile property: Cluster pool network profile.
+ *
+ * @return the networkProfile value.
+ */
+ public ClusterPoolResourcePropertiesNetworkProfile networkProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().networkProfile();
+ }
+
+ /**
+ * Set the networkProfile property: Cluster pool network profile.
+ *
+ * @param networkProfile the networkProfile value to set.
+ * @return the ClusterPoolInner object itself.
+ */
+ public ClusterPoolInner withNetworkProfile(ClusterPoolResourcePropertiesNetworkProfile networkProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterPoolResourceProperties();
+ }
+ this.innerProperties().withNetworkProfile(networkProfile);
+ return this;
+ }
+
+ /**
+ * Get the logAnalyticsProfile property: Cluster pool log analytics profile to enable OMS agent for AKS cluster.
+ *
+ * @return the logAnalyticsProfile value.
+ */
+ public ClusterPoolResourcePropertiesLogAnalyticsProfile logAnalyticsProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().logAnalyticsProfile();
+ }
+
+ /**
+ * Set the logAnalyticsProfile property: Cluster pool log analytics profile to enable OMS agent for AKS cluster.
+ *
+ * @param logAnalyticsProfile the logAnalyticsProfile value to set.
+ * @return the ClusterPoolInner object itself.
+ */
+ public ClusterPoolInner withLogAnalyticsProfile(
+ ClusterPoolResourcePropertiesLogAnalyticsProfile logAnalyticsProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterPoolResourceProperties();
+ }
+ this.innerProperties().withLogAnalyticsProfile(logAnalyticsProfile);
+ return this;
+ }
+
+ /**
+ * Get the status property: Business status of the resource.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolResourceProperties.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolResourceProperties.java
new file mode 100644
index 000000000000..91afb9acf749
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolResourceProperties.java
@@ -0,0 +1,274 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesAksClusterProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesClusterPoolProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesComputeProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesLogAnalyticsProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesNetworkProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ProvisioningStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Cluster pool resource properties. */
+@Fluent
+public final class ClusterPoolResourceProperties {
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningStatus provisioningState;
+
+ /*
+ * A unique id generated by the RP to identify the resource.
+ */
+ @JsonProperty(value = "deploymentId", access = JsonProperty.Access.WRITE_ONLY)
+ private String deploymentId;
+
+ /*
+ * A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used
+ * to generate aksManagedResourceGroupName by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}.
+ * Please make sure it meets resource group name restriction.
+ */
+ @JsonProperty(value = "managedResourceGroupName")
+ private String managedResourceGroupName;
+
+ /*
+ * A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers. It
+ * is generated by cluster pool name and managed resource group name by pattern:
+ * MC_{managedResourceGroupName}_{clusterPoolName}_{region}
+ */
+ @JsonProperty(value = "aksManagedResourceGroupName", access = JsonProperty.Access.WRITE_ONLY)
+ private String aksManagedResourceGroupName;
+
+ /*
+ * CLuster pool profile.
+ */
+ @JsonProperty(value = "clusterPoolProfile")
+ private ClusterPoolResourcePropertiesClusterPoolProfile clusterPoolProfile;
+
+ /*
+ * CLuster pool compute profile.
+ */
+ @JsonProperty(value = "computeProfile", required = true)
+ private ClusterPoolResourcePropertiesComputeProfile computeProfile;
+
+ /*
+ * Properties of underlying AKS cluster.
+ */
+ @JsonProperty(value = "aksClusterProfile", access = JsonProperty.Access.WRITE_ONLY)
+ private ClusterPoolResourcePropertiesAksClusterProfile aksClusterProfile;
+
+ /*
+ * Cluster pool network profile.
+ */
+ @JsonProperty(value = "networkProfile")
+ private ClusterPoolResourcePropertiesNetworkProfile networkProfile;
+
+ /*
+ * Cluster pool log analytics profile to enable OMS agent for AKS cluster.
+ */
+ @JsonProperty(value = "logAnalyticsProfile")
+ private ClusterPoolResourcePropertiesLogAnalyticsProfile logAnalyticsProfile;
+
+ /*
+ * Business status of the resource.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private String status;
+
+ /** Creates an instance of ClusterPoolResourceProperties class. */
+ public ClusterPoolResourceProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStatus provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentId property: A unique id generated by the RP to identify the resource.
+ *
+ * @return the deploymentId value.
+ */
+ public String deploymentId() {
+ return this.deploymentId;
+ }
+
+ /**
+ * Get the managedResourceGroupName property: A resource group created by RP, to hold the resources created by RP
+ * on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern:
+ * MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name
+ * restriction.
+ *
+ * @return the managedResourceGroupName value.
+ */
+ public String managedResourceGroupName() {
+ return this.managedResourceGroupName;
+ }
+
+ /**
+ * Set the managedResourceGroupName property: A resource group created by RP, to hold the resources created by RP
+ * on-behalf of customers. It will also be used to generate aksManagedResourceGroupName by pattern:
+ * MC_{managedResourceGroupName}_{clusterPoolName}_{region}. Please make sure it meets resource group name
+ * restriction.
+ *
+ * @param managedResourceGroupName the managedResourceGroupName value to set.
+ * @return the ClusterPoolResourceProperties object itself.
+ */
+ public ClusterPoolResourceProperties withManagedResourceGroupName(String managedResourceGroupName) {
+ this.managedResourceGroupName = managedResourceGroupName;
+ return this;
+ }
+
+ /**
+ * Get the aksManagedResourceGroupName property: A resource group created by AKS, to hold the infrastructure
+ * resources created by AKS on-behalf of customers. It is generated by cluster pool name and managed resource group
+ * name by pattern: MC_{managedResourceGroupName}_{clusterPoolName}_{region}.
+ *
+ * @return the aksManagedResourceGroupName value.
+ */
+ public String aksManagedResourceGroupName() {
+ return this.aksManagedResourceGroupName;
+ }
+
+ /**
+ * Get the clusterPoolProfile property: CLuster pool profile.
+ *
+ * @return the clusterPoolProfile value.
+ */
+ public ClusterPoolResourcePropertiesClusterPoolProfile clusterPoolProfile() {
+ return this.clusterPoolProfile;
+ }
+
+ /**
+ * Set the clusterPoolProfile property: CLuster pool profile.
+ *
+ * @param clusterPoolProfile the clusterPoolProfile value to set.
+ * @return the ClusterPoolResourceProperties object itself.
+ */
+ public ClusterPoolResourceProperties withClusterPoolProfile(
+ ClusterPoolResourcePropertiesClusterPoolProfile clusterPoolProfile) {
+ this.clusterPoolProfile = clusterPoolProfile;
+ return this;
+ }
+
+ /**
+ * Get the computeProfile property: CLuster pool compute profile.
+ *
+ * @return the computeProfile value.
+ */
+ public ClusterPoolResourcePropertiesComputeProfile computeProfile() {
+ return this.computeProfile;
+ }
+
+ /**
+ * Set the computeProfile property: CLuster pool compute profile.
+ *
+ * @param computeProfile the computeProfile value to set.
+ * @return the ClusterPoolResourceProperties object itself.
+ */
+ public ClusterPoolResourceProperties withComputeProfile(
+ ClusterPoolResourcePropertiesComputeProfile computeProfile) {
+ this.computeProfile = computeProfile;
+ return this;
+ }
+
+ /**
+ * Get the aksClusterProfile property: Properties of underlying AKS cluster.
+ *
+ * @return the aksClusterProfile value.
+ */
+ public ClusterPoolResourcePropertiesAksClusterProfile aksClusterProfile() {
+ return this.aksClusterProfile;
+ }
+
+ /**
+ * Get the networkProfile property: Cluster pool network profile.
+ *
+ * @return the networkProfile value.
+ */
+ public ClusterPoolResourcePropertiesNetworkProfile networkProfile() {
+ return this.networkProfile;
+ }
+
+ /**
+ * Set the networkProfile property: Cluster pool network profile.
+ *
+ * @param networkProfile the networkProfile value to set.
+ * @return the ClusterPoolResourceProperties object itself.
+ */
+ public ClusterPoolResourceProperties withNetworkProfile(
+ ClusterPoolResourcePropertiesNetworkProfile networkProfile) {
+ this.networkProfile = networkProfile;
+ return this;
+ }
+
+ /**
+ * Get the logAnalyticsProfile property: Cluster pool log analytics profile to enable OMS agent for AKS cluster.
+ *
+ * @return the logAnalyticsProfile value.
+ */
+ public ClusterPoolResourcePropertiesLogAnalyticsProfile logAnalyticsProfile() {
+ return this.logAnalyticsProfile;
+ }
+
+ /**
+ * Set the logAnalyticsProfile property: Cluster pool log analytics profile to enable OMS agent for AKS cluster.
+ *
+ * @param logAnalyticsProfile the logAnalyticsProfile value to set.
+ * @return the ClusterPoolResourceProperties object itself.
+ */
+ public ClusterPoolResourceProperties withLogAnalyticsProfile(
+ ClusterPoolResourcePropertiesLogAnalyticsProfile logAnalyticsProfile) {
+ this.logAnalyticsProfile = logAnalyticsProfile;
+ return this;
+ }
+
+ /**
+ * Get the status property: Business status of the resource.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (clusterPoolProfile() != null) {
+ clusterPoolProfile().validate();
+ }
+ if (computeProfile() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property computeProfile in model ClusterPoolResourceProperties"));
+ } else {
+ computeProfile().validate();
+ }
+ if (aksClusterProfile() != null) {
+ aksClusterProfile().validate();
+ }
+ if (networkProfile() != null) {
+ networkProfile().validate();
+ }
+ if (logAnalyticsProfile() != null) {
+ logAnalyticsProfile().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ClusterPoolResourceProperties.class);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolVersionInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolVersionInner.java
new file mode 100644
index 000000000000..89b8e33c4aaa
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolVersionInner.java
@@ -0,0 +1,112 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Available cluster pool version. */
+@Fluent
+public final class ClusterPoolVersionInner extends ProxyResource {
+ /*
+ * Cluster pool version properties.
+ */
+ @JsonProperty(value = "properties")
+ private ClusterPoolVersionProperties innerProperties;
+
+ /** Creates an instance of ClusterPoolVersionInner class. */
+ public ClusterPoolVersionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Cluster pool version properties.
+ *
+ * @return the innerProperties value.
+ */
+ private ClusterPoolVersionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the clusterPoolVersion property: Cluster pool version is a 2-part version.
+ *
+ * @return the clusterPoolVersion value.
+ */
+ public String clusterPoolVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterPoolVersion();
+ }
+
+ /**
+ * Set the clusterPoolVersion property: Cluster pool version is a 2-part version.
+ *
+ * @param clusterPoolVersion the clusterPoolVersion value to set.
+ * @return the ClusterPoolVersionInner object itself.
+ */
+ public ClusterPoolVersionInner withClusterPoolVersion(String clusterPoolVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterPoolVersionProperties();
+ }
+ this.innerProperties().withClusterPoolVersion(clusterPoolVersion);
+ return this;
+ }
+
+ /**
+ * Get the aksVersion property: AKS version.
+ *
+ * @return the aksVersion value.
+ */
+ public String aksVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().aksVersion();
+ }
+
+ /**
+ * Set the aksVersion property: AKS version.
+ *
+ * @param aksVersion the aksVersion value to set.
+ * @return the ClusterPoolVersionInner object itself.
+ */
+ public ClusterPoolVersionInner withAksVersion(String aksVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterPoolVersionProperties();
+ }
+ this.innerProperties().withAksVersion(aksVersion);
+ return this;
+ }
+
+ /**
+ * Get the isPreview property: Indicate if this version is in preview or not.
+ *
+ * @return the isPreview value.
+ */
+ public Boolean isPreview() {
+ return this.innerProperties() == null ? null : this.innerProperties().isPreview();
+ }
+
+ /**
+ * Set the isPreview property: Indicate if this version is in preview or not.
+ *
+ * @param isPreview the isPreview value to set.
+ * @return the ClusterPoolVersionInner object itself.
+ */
+ public ClusterPoolVersionInner withIsPreview(Boolean isPreview) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterPoolVersionProperties();
+ }
+ this.innerProperties().withIsPreview(isPreview);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolVersionProperties.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolVersionProperties.java
new file mode 100644
index 000000000000..c18187649643
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterPoolVersionProperties.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Cluster pool version properties. */
+@Fluent
+public final class ClusterPoolVersionProperties {
+ /*
+ * Cluster pool version is a 2-part version.
+ */
+ @JsonProperty(value = "clusterPoolVersion")
+ private String clusterPoolVersion;
+
+ /*
+ * AKS version.
+ */
+ @JsonProperty(value = "aksVersion")
+ private String aksVersion;
+
+ /*
+ * Indicate if this version is in preview or not.
+ */
+ @JsonProperty(value = "isPreview")
+ private Boolean isPreview;
+
+ /** Creates an instance of ClusterPoolVersionProperties class. */
+ public ClusterPoolVersionProperties() {
+ }
+
+ /**
+ * Get the clusterPoolVersion property: Cluster pool version is a 2-part version.
+ *
+ * @return the clusterPoolVersion value.
+ */
+ public String clusterPoolVersion() {
+ return this.clusterPoolVersion;
+ }
+
+ /**
+ * Set the clusterPoolVersion property: Cluster pool version is a 2-part version.
+ *
+ * @param clusterPoolVersion the clusterPoolVersion value to set.
+ * @return the ClusterPoolVersionProperties object itself.
+ */
+ public ClusterPoolVersionProperties withClusterPoolVersion(String clusterPoolVersion) {
+ this.clusterPoolVersion = clusterPoolVersion;
+ return this;
+ }
+
+ /**
+ * Get the aksVersion property: AKS version.
+ *
+ * @return the aksVersion value.
+ */
+ public String aksVersion() {
+ return this.aksVersion;
+ }
+
+ /**
+ * Set the aksVersion property: AKS version.
+ *
+ * @param aksVersion the aksVersion value to set.
+ * @return the ClusterPoolVersionProperties object itself.
+ */
+ public ClusterPoolVersionProperties withAksVersion(String aksVersion) {
+ this.aksVersion = aksVersion;
+ return this;
+ }
+
+ /**
+ * Get the isPreview property: Indicate if this version is in preview or not.
+ *
+ * @return the isPreview value.
+ */
+ public Boolean isPreview() {
+ return this.isPreview;
+ }
+
+ /**
+ * Set the isPreview property: Indicate if this version is in preview or not.
+ *
+ * @param isPreview the isPreview value to set.
+ * @return the ClusterPoolVersionProperties object itself.
+ */
+ public ClusterPoolVersionProperties withIsPreview(Boolean isPreview) {
+ this.isPreview = isPreview;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterResizeProperties.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterResizeProperties.java
new file mode 100644
index 000000000000..f04020ecc1c7
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterResizeProperties.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The properties for resizing a cluster. */
+@Fluent
+public final class ClusterResizeProperties {
+ /*
+ * Target node count of worker node.
+ */
+ @JsonProperty(value = "targetWorkerNodeCount", required = true)
+ private int targetWorkerNodeCount;
+
+ /** Creates an instance of ClusterResizeProperties class. */
+ public ClusterResizeProperties() {
+ }
+
+ /**
+ * Get the targetWorkerNodeCount property: Target node count of worker node.
+ *
+ * @return the targetWorkerNodeCount value.
+ */
+ public int targetWorkerNodeCount() {
+ return this.targetWorkerNodeCount;
+ }
+
+ /**
+ * Set the targetWorkerNodeCount property: Target node count of worker node.
+ *
+ * @param targetWorkerNodeCount the targetWorkerNodeCount value to set.
+ * @return the ClusterResizeProperties object itself.
+ */
+ public ClusterResizeProperties withTargetWorkerNodeCount(int targetWorkerNodeCount) {
+ this.targetWorkerNodeCount = targetWorkerNodeCount;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterResourceProperties.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterResourceProperties.java
new file mode 100644
index 000000000000..68edd0d4a701
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterResourceProperties.java
@@ -0,0 +1,175 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ComputeProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ProvisioningStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Cluster resource properties. */
+@Fluent
+public final class ClusterResourceProperties {
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningStatus provisioningState;
+
+ /*
+ * The type of cluster.
+ */
+ @JsonProperty(value = "clusterType", required = true)
+ private String clusterType;
+
+ /*
+ * A unique id generated by the RP to identify the resource.
+ */
+ @JsonProperty(value = "deploymentId", access = JsonProperty.Access.WRITE_ONLY)
+ private String deploymentId;
+
+ /*
+ * The compute profile.
+ */
+ @JsonProperty(value = "computeProfile", required = true)
+ private ComputeProfile computeProfile;
+
+ /*
+ * Cluster profile.
+ */
+ @JsonProperty(value = "clusterProfile", required = true)
+ private ClusterProfile clusterProfile;
+
+ /*
+ * Business status of the resource.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private String status;
+
+ /** Creates an instance of ClusterResourceProperties class. */
+ public ClusterResourceProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStatus provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the clusterType property: The type of cluster.
+ *
+ * @return the clusterType value.
+ */
+ public String clusterType() {
+ return this.clusterType;
+ }
+
+ /**
+ * Set the clusterType property: The type of cluster.
+ *
+ * @param clusterType the clusterType value to set.
+ * @return the ClusterResourceProperties object itself.
+ */
+ public ClusterResourceProperties withClusterType(String clusterType) {
+ this.clusterType = clusterType;
+ return this;
+ }
+
+ /**
+ * Get the deploymentId property: A unique id generated by the RP to identify the resource.
+ *
+ * @return the deploymentId value.
+ */
+ public String deploymentId() {
+ return this.deploymentId;
+ }
+
+ /**
+ * Get the computeProfile property: The compute profile.
+ *
+ * @return the computeProfile value.
+ */
+ public ComputeProfile computeProfile() {
+ return this.computeProfile;
+ }
+
+ /**
+ * Set the computeProfile property: The compute profile.
+ *
+ * @param computeProfile the computeProfile value to set.
+ * @return the ClusterResourceProperties object itself.
+ */
+ public ClusterResourceProperties withComputeProfile(ComputeProfile computeProfile) {
+ this.computeProfile = computeProfile;
+ return this;
+ }
+
+ /**
+ * Get the clusterProfile property: Cluster profile.
+ *
+ * @return the clusterProfile value.
+ */
+ public ClusterProfile clusterProfile() {
+ return this.clusterProfile;
+ }
+
+ /**
+ * Set the clusterProfile property: Cluster profile.
+ *
+ * @param clusterProfile the clusterProfile value to set.
+ * @return the ClusterResourceProperties object itself.
+ */
+ public ClusterResourceProperties withClusterProfile(ClusterProfile clusterProfile) {
+ this.clusterProfile = clusterProfile;
+ return this;
+ }
+
+ /**
+ * Get the status property: Business status of the resource.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (clusterType() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property clusterType in model ClusterResourceProperties"));
+ }
+ if (computeProfile() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property computeProfile in model ClusterResourceProperties"));
+ } else {
+ computeProfile().validate();
+ }
+ if (clusterProfile() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property clusterProfile in model ClusterResourceProperties"));
+ } else {
+ clusterProfile().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ClusterResourceProperties.class);
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterVersionInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterVersionInner.java
new file mode 100644
index 000000000000..7cc138139818
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterVersionInner.java
@@ -0,0 +1,171 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterComponentsItem;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Available cluster version. */
+@Fluent
+public final class ClusterVersionInner extends ProxyResource {
+ /*
+ * Cluster version properties.
+ */
+ @JsonProperty(value = "properties")
+ private ClusterVersionProperties innerProperties;
+
+ /** Creates an instance of ClusterVersionInner class. */
+ public ClusterVersionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Cluster version properties.
+ *
+ * @return the innerProperties value.
+ */
+ private ClusterVersionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the clusterType property: The type of cluster.
+ *
+ * @return the clusterType value.
+ */
+ public String clusterType() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterType();
+ }
+
+ /**
+ * Set the clusterType property: The type of cluster.
+ *
+ * @param clusterType the clusterType value to set.
+ * @return the ClusterVersionInner object itself.
+ */
+ public ClusterVersionInner withClusterType(String clusterType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterVersionProperties();
+ }
+ this.innerProperties().withClusterType(clusterType);
+ return this;
+ }
+
+ /**
+ * Get the clusterVersion property: Version with three part.
+ *
+ * @return the clusterVersion value.
+ */
+ public String clusterVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterVersion();
+ }
+
+ /**
+ * Set the clusterVersion property: Version with three part.
+ *
+ * @param clusterVersion the clusterVersion value to set.
+ * @return the ClusterVersionInner object itself.
+ */
+ public ClusterVersionInner withClusterVersion(String clusterVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterVersionProperties();
+ }
+ this.innerProperties().withClusterVersion(clusterVersion);
+ return this;
+ }
+
+ /**
+ * Get the ossVersion property: Version with three part.
+ *
+ * @return the ossVersion value.
+ */
+ public String ossVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().ossVersion();
+ }
+
+ /**
+ * Set the ossVersion property: Version with three part.
+ *
+ * @param ossVersion the ossVersion value to set.
+ * @return the ClusterVersionInner object itself.
+ */
+ public ClusterVersionInner withOssVersion(String ossVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterVersionProperties();
+ }
+ this.innerProperties().withOssVersion(ossVersion);
+ return this;
+ }
+
+ /**
+ * Get the clusterPoolVersion property: The two part cluster pool version. If the cluster version is before cluster
+ * pool version on-board, the return value will be empty string.
+ *
+ * @return the clusterPoolVersion value.
+ */
+ public String clusterPoolVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterPoolVersion();
+ }
+
+ /**
+ * Set the clusterPoolVersion property: The two part cluster pool version. If the cluster version is before cluster
+ * pool version on-board, the return value will be empty string.
+ *
+ * @param clusterPoolVersion the clusterPoolVersion value to set.
+ * @return the ClusterVersionInner object itself.
+ */
+ public ClusterVersionInner withClusterPoolVersion(String clusterPoolVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterVersionProperties();
+ }
+ this.innerProperties().withClusterPoolVersion(clusterPoolVersion);
+ return this;
+ }
+
+ /**
+ * Get the isPreview property: Indicate if this version is in preview or not.
+ *
+ * @return the isPreview value.
+ */
+ public Boolean isPreview() {
+ return this.innerProperties() == null ? null : this.innerProperties().isPreview();
+ }
+
+ /**
+ * Set the isPreview property: Indicate if this version is in preview or not.
+ *
+ * @param isPreview the isPreview value to set.
+ * @return the ClusterVersionInner object itself.
+ */
+ public ClusterVersionInner withIsPreview(Boolean isPreview) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterVersionProperties();
+ }
+ this.innerProperties().withIsPreview(isPreview);
+ return this;
+ }
+
+ /**
+ * Get the components property: Component list of this cluster type and version.
+ *
+ * @return the components value.
+ */
+ public List components() {
+ return this.innerProperties() == null ? null : this.innerProperties().components();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterVersionProperties.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterVersionProperties.java
new file mode 100644
index 000000000000..284b65f44aeb
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ClusterVersionProperties.java
@@ -0,0 +1,177 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterComponentsItem;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Cluster version properties. */
+@Fluent
+public final class ClusterVersionProperties {
+ /*
+ * The type of cluster.
+ */
+ @JsonProperty(value = "clusterType")
+ private String clusterType;
+
+ /*
+ * Version with three part.
+ */
+ @JsonProperty(value = "clusterVersion")
+ private String clusterVersion;
+
+ /*
+ * Version with three part.
+ */
+ @JsonProperty(value = "ossVersion")
+ private String ossVersion;
+
+ /*
+ * The two part cluster pool version. If the cluster version is before cluster pool version on-board, the return
+ * value will be empty string
+ */
+ @JsonProperty(value = "clusterPoolVersion")
+ private String clusterPoolVersion;
+
+ /*
+ * Indicate if this version is in preview or not.
+ */
+ @JsonProperty(value = "isPreview")
+ private Boolean isPreview;
+
+ /*
+ * Component list of this cluster type and version.
+ */
+ @JsonProperty(value = "components", access = JsonProperty.Access.WRITE_ONLY)
+ private List components;
+
+ /** Creates an instance of ClusterVersionProperties class. */
+ public ClusterVersionProperties() {
+ }
+
+ /**
+ * Get the clusterType property: The type of cluster.
+ *
+ * @return the clusterType value.
+ */
+ public String clusterType() {
+ return this.clusterType;
+ }
+
+ /**
+ * Set the clusterType property: The type of cluster.
+ *
+ * @param clusterType the clusterType value to set.
+ * @return the ClusterVersionProperties object itself.
+ */
+ public ClusterVersionProperties withClusterType(String clusterType) {
+ this.clusterType = clusterType;
+ return this;
+ }
+
+ /**
+ * Get the clusterVersion property: Version with three part.
+ *
+ * @return the clusterVersion value.
+ */
+ public String clusterVersion() {
+ return this.clusterVersion;
+ }
+
+ /**
+ * Set the clusterVersion property: Version with three part.
+ *
+ * @param clusterVersion the clusterVersion value to set.
+ * @return the ClusterVersionProperties object itself.
+ */
+ public ClusterVersionProperties withClusterVersion(String clusterVersion) {
+ this.clusterVersion = clusterVersion;
+ return this;
+ }
+
+ /**
+ * Get the ossVersion property: Version with three part.
+ *
+ * @return the ossVersion value.
+ */
+ public String ossVersion() {
+ return this.ossVersion;
+ }
+
+ /**
+ * Set the ossVersion property: Version with three part.
+ *
+ * @param ossVersion the ossVersion value to set.
+ * @return the ClusterVersionProperties object itself.
+ */
+ public ClusterVersionProperties withOssVersion(String ossVersion) {
+ this.ossVersion = ossVersion;
+ return this;
+ }
+
+ /**
+ * Get the clusterPoolVersion property: The two part cluster pool version. If the cluster version is before cluster
+ * pool version on-board, the return value will be empty string.
+ *
+ * @return the clusterPoolVersion value.
+ */
+ public String clusterPoolVersion() {
+ return this.clusterPoolVersion;
+ }
+
+ /**
+ * Set the clusterPoolVersion property: The two part cluster pool version. If the cluster version is before cluster
+ * pool version on-board, the return value will be empty string.
+ *
+ * @param clusterPoolVersion the clusterPoolVersion value to set.
+ * @return the ClusterVersionProperties object itself.
+ */
+ public ClusterVersionProperties withClusterPoolVersion(String clusterPoolVersion) {
+ this.clusterPoolVersion = clusterPoolVersion;
+ return this;
+ }
+
+ /**
+ * Get the isPreview property: Indicate if this version is in preview or not.
+ *
+ * @return the isPreview value.
+ */
+ public Boolean isPreview() {
+ return this.isPreview;
+ }
+
+ /**
+ * Set the isPreview property: Indicate if this version is in preview or not.
+ *
+ * @param isPreview the isPreview value to set.
+ * @return the ClusterVersionProperties object itself.
+ */
+ public ClusterVersionProperties withIsPreview(Boolean isPreview) {
+ this.isPreview = isPreview;
+ return this;
+ }
+
+ /**
+ * Get the components property: Component list of this cluster type and version.
+ *
+ * @return the components value.
+ */
+ public List components() {
+ return this.components;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (components() != null) {
+ components().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/NameAvailabilityResultInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/NameAvailabilityResultInner.java
new file mode 100644
index 000000000000..85c7d24df281
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/NameAvailabilityResultInner.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Result of check name availability. */
+@Fluent
+public final class NameAvailabilityResultInner {
+ /*
+ * Indicator of availability of the Microsoft.HDInsight resource name.
+ */
+ @JsonProperty(value = "nameAvailable")
+ private Boolean nameAvailable;
+
+ /*
+ * The reason of unavailability.
+ */
+ @JsonProperty(value = "reason")
+ private String reason;
+
+ /*
+ * The error message of unavailability.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /** Creates an instance of NameAvailabilityResultInner class. */
+ public NameAvailabilityResultInner() {
+ }
+
+ /**
+ * Get the nameAvailable property: Indicator of availability of the Microsoft.HDInsight resource name.
+ *
+ * @return the nameAvailable value.
+ */
+ public Boolean nameAvailable() {
+ return this.nameAvailable;
+ }
+
+ /**
+ * Set the nameAvailable property: Indicator of availability of the Microsoft.HDInsight resource name.
+ *
+ * @param nameAvailable the nameAvailable value to set.
+ * @return the NameAvailabilityResultInner object itself.
+ */
+ public NameAvailabilityResultInner withNameAvailable(Boolean nameAvailable) {
+ this.nameAvailable = nameAvailable;
+ return this;
+ }
+
+ /**
+ * Get the reason property: The reason of unavailability.
+ *
+ * @return the reason value.
+ */
+ public String reason() {
+ return this.reason;
+ }
+
+ /**
+ * Set the reason property: The reason of unavailability.
+ *
+ * @param reason the reason value to set.
+ * @return the NameAvailabilityResultInner object itself.
+ */
+ public NameAvailabilityResultInner withReason(String reason) {
+ this.reason = reason;
+ return this;
+ }
+
+ /**
+ * Get the message property: The error message of unavailability.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: The error message of unavailability.
+ *
+ * @param message the message value to set.
+ * @return the NameAvailabilityResultInner object itself.
+ */
+ public NameAvailabilityResultInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/OperationInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..8b4ce69a1861
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/OperationInner.java
@@ -0,0 +1,127 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ActionType;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.OperationDisplay;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.Origin;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * REST API Operation
+ *
+ * Details of a REST API operation, returned from the Resource Provider Operations API.
+ */
+@Fluent
+public final class OperationInner {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for
+ * ARM/control-plane operations.
+ */
+ @JsonProperty(value = "isDataAction", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
+ * value is "user,system"
+ */
+ @JsonProperty(value = "origin", access = JsonProperty.Access.WRITE_ONLY)
+ private Origin origin;
+
+ /*
+ * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
+ */
+ @JsonProperty(value = "actionType", access = JsonProperty.Access.WRITE_ONLY)
+ private ActionType actionType;
+
+ /** Creates an instance of OperationInner class. */
+ public OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for ARM/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Localized display information for this particular operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Enum. Indicates the action type. "Internal" refers to actions that are for internal
+ * only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ServiceConfigResultInner.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ServiceConfigResultInner.java
new file mode 100644
index 000000000000..82cab87e12cc
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ServiceConfigResultInner.java
@@ -0,0 +1,228 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ServiceConfigListResultValueEntity;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Cluster instance service config. */
+@Fluent
+public final class ServiceConfigResultInner {
+ /*
+ * Cluster instance service config properties.
+ */
+ @JsonProperty(value = "properties")
+ private ServiceConfigResultProperties innerProperties;
+
+ /** Creates an instance of ServiceConfigResultInner class. */
+ public ServiceConfigResultInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Cluster instance service config properties.
+ *
+ * @return the innerProperties value.
+ */
+ private ServiceConfigResultProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the serviceName property: Service Config Name.
+ *
+ * @return the serviceName value.
+ */
+ public String serviceName() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceName();
+ }
+
+ /**
+ * Set the serviceName property: Service Config Name.
+ *
+ * @param serviceName the serviceName value to set.
+ * @return the ServiceConfigResultInner object itself.
+ */
+ public ServiceConfigResultInner withServiceName(String serviceName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceConfigResultProperties();
+ }
+ this.innerProperties().withServiceName(serviceName);
+ return this;
+ }
+
+ /**
+ * Get the fileName property: File Name.
+ *
+ * @return the fileName value.
+ */
+ public String fileName() {
+ return this.innerProperties() == null ? null : this.innerProperties().fileName();
+ }
+
+ /**
+ * Set the fileName property: File Name.
+ *
+ * @param fileName the fileName value to set.
+ * @return the ServiceConfigResultInner object itself.
+ */
+ public ServiceConfigResultInner withFileName(String fileName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceConfigResultProperties();
+ }
+ this.innerProperties().withFileName(fileName);
+ return this;
+ }
+
+ /**
+ * Get the content property: Content in the service config file.
+ *
+ * @return the content value.
+ */
+ public String content() {
+ return this.innerProperties() == null ? null : this.innerProperties().content();
+ }
+
+ /**
+ * Set the content property: Content in the service config file.
+ *
+ * @param content the content value to set.
+ * @return the ServiceConfigResultInner object itself.
+ */
+ public ServiceConfigResultInner withContent(String content) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceConfigResultProperties();
+ }
+ this.innerProperties().withContent(content);
+ return this;
+ }
+
+ /**
+ * Get the componentName property: Component Name.
+ *
+ * @return the componentName value.
+ */
+ public String componentName() {
+ return this.innerProperties() == null ? null : this.innerProperties().componentName();
+ }
+
+ /**
+ * Set the componentName property: Component Name.
+ *
+ * @param componentName the componentName value to set.
+ * @return the ServiceConfigResultInner object itself.
+ */
+ public ServiceConfigResultInner withComponentName(String componentName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceConfigResultProperties();
+ }
+ this.innerProperties().withComponentName(componentName);
+ return this;
+ }
+
+ /**
+ * Get the type property: Config type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Set the type property: Config type.
+ *
+ * @param type the type value to set.
+ * @return the ServiceConfigResultInner object itself.
+ */
+ public ServiceConfigResultInner withType(String type) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceConfigResultProperties();
+ }
+ this.innerProperties().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the path property: Config file path.
+ *
+ * @return the path value.
+ */
+ public String path() {
+ return this.innerProperties() == null ? null : this.innerProperties().path();
+ }
+
+ /**
+ * Set the path property: Config file path.
+ *
+ * @param path the path value to set.
+ * @return the ServiceConfigResultInner object itself.
+ */
+ public ServiceConfigResultInner withPath(String path) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceConfigResultProperties();
+ }
+ this.innerProperties().withPath(path);
+ return this;
+ }
+
+ /**
+ * Get the customKeys property: The custom keys.
+ *
+ * @return the customKeys value.
+ */
+ public Map customKeys() {
+ return this.innerProperties() == null ? null : this.innerProperties().customKeys();
+ }
+
+ /**
+ * Set the customKeys property: The custom keys.
+ *
+ * @param customKeys the customKeys value to set.
+ * @return the ServiceConfigResultInner object itself.
+ */
+ public ServiceConfigResultInner withCustomKeys(Map customKeys) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceConfigResultProperties();
+ }
+ this.innerProperties().withCustomKeys(customKeys);
+ return this;
+ }
+
+ /**
+ * Get the defaultKeys property: The default keys.
+ *
+ * @return the defaultKeys value.
+ */
+ public Map defaultKeys() {
+ return this.innerProperties() == null ? null : this.innerProperties().defaultKeys();
+ }
+
+ /**
+ * Set the defaultKeys property: The default keys.
+ *
+ * @param defaultKeys the defaultKeys value to set.
+ * @return the ServiceConfigResultInner object itself.
+ */
+ public ServiceConfigResultInner withDefaultKeys(Map defaultKeys) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceConfigResultProperties();
+ }
+ this.innerProperties().withDefaultKeys(defaultKeys);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ServiceConfigResultProperties.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ServiceConfigResultProperties.java
new file mode 100644
index 000000000000..3fdc7b489fca
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/ServiceConfigResultProperties.java
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ServiceConfigListResultProperties;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ServiceConfigListResultValueEntity;
+import java.util.Map;
+
+/** Cluster instance service config properties. */
+@Fluent
+public final class ServiceConfigResultProperties extends ServiceConfigListResultProperties {
+ /** Creates an instance of ServiceConfigResultProperties class. */
+ public ServiceConfigResultProperties() {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceConfigResultProperties withServiceName(String serviceName) {
+ super.withServiceName(serviceName);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceConfigResultProperties withFileName(String fileName) {
+ super.withFileName(fileName);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceConfigResultProperties withContent(String content) {
+ super.withContent(content);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceConfigResultProperties withComponentName(String componentName) {
+ super.withComponentName(componentName);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceConfigResultProperties withType(String type) {
+ super.withType(type);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceConfigResultProperties withPath(String path) {
+ super.withPath(path);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceConfigResultProperties withCustomKeys(Map customKeys) {
+ super.withCustomKeys(customKeys);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceConfigResultProperties withDefaultKeys(Map defaultKeys) {
+ super.withDefaultKeys(defaultKeys);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/TrinoDebugConfig.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/TrinoDebugConfig.java
new file mode 100644
index 000000000000..5cdbf57a9c9a
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/TrinoDebugConfig.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Trino debug configuration. */
+@Fluent
+public final class TrinoDebugConfig {
+ /*
+ * The flag that if enable debug or not.
+ */
+ @JsonProperty(value = "enable")
+ private Boolean enable;
+
+ /*
+ * The debug port.
+ */
+ @JsonProperty(value = "port")
+ private Integer port;
+
+ /*
+ * The flag that if suspend debug or not.
+ */
+ @JsonProperty(value = "suspend")
+ private Boolean suspend;
+
+ /** Creates an instance of TrinoDebugConfig class. */
+ public TrinoDebugConfig() {
+ }
+
+ /**
+ * Get the enable property: The flag that if enable debug or not.
+ *
+ * @return the enable value.
+ */
+ public Boolean enable() {
+ return this.enable;
+ }
+
+ /**
+ * Set the enable property: The flag that if enable debug or not.
+ *
+ * @param enable the enable value to set.
+ * @return the TrinoDebugConfig object itself.
+ */
+ public TrinoDebugConfig withEnable(Boolean enable) {
+ this.enable = enable;
+ return this;
+ }
+
+ /**
+ * Get the port property: The debug port.
+ *
+ * @return the port value.
+ */
+ public Integer port() {
+ return this.port;
+ }
+
+ /**
+ * Set the port property: The debug port.
+ *
+ * @param port the port value to set.
+ * @return the TrinoDebugConfig object itself.
+ */
+ public TrinoDebugConfig withPort(Integer port) {
+ this.port = port;
+ return this;
+ }
+
+ /**
+ * Get the suspend property: The flag that if suspend debug or not.
+ *
+ * @return the suspend value.
+ */
+ public Boolean suspend() {
+ return this.suspend;
+ }
+
+ /**
+ * Set the suspend property: The flag that if suspend debug or not.
+ *
+ * @param suspend the suspend value to set.
+ * @return the TrinoDebugConfig object itself.
+ */
+ public TrinoDebugConfig withSuspend(Boolean suspend) {
+ this.suspend = suspend;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/package-info.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/package-info.java
new file mode 100644
index 000000000000..4c518fa2c123
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/models/package-info.java
@@ -0,0 +1,6 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/** Package containing the inner data models for HDInsightOnAksManagementClient. HDInsight On Aks Management Client. */
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models;
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/package-info.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/package-info.java
new file mode 100644
index 000000000000..b7f15e95cac4
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/fluent/package-info.java
@@ -0,0 +1,6 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/** Package containing the service clients for HDInsightOnAksManagementClient. HDInsight On Aks Management Client. */
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent;
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterPoolVersionsClientImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterPoolVersionsClientImpl.java
new file mode 100644
index 000000000000..23a76cccdce7
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterPoolVersionsClientImpl.java
@@ -0,0 +1,322 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.AvailableClusterPoolVersionsClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterPoolVersionInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolVersionsListResult;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in AvailableClusterPoolVersionsClient. */
+public final class AvailableClusterPoolVersionsClientImpl implements AvailableClusterPoolVersionsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AvailableClusterPoolVersionsService service;
+
+ /** The service client containing this operation class. */
+ private final HDInsightOnAksManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AvailableClusterPoolVersionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AvailableClusterPoolVersionsClientImpl(HDInsightOnAksManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AvailableClusterPoolVersionsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HDInsightOnAksManagementClientAvailableClusterPoolVersions to be used
+ * by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HDInsightOnAksManage")
+ public interface AvailableClusterPoolVersionsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/availableClusterPoolVersions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocation(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocationNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Returns a list of available cluster pool versions.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationSinglePageAsync(String location) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByLocation(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ location,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Returns a list of available cluster pool versions.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationSinglePageAsync(
+ String location, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByLocation(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ location,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Returns a list of available cluster pool versions.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location) {
+ return new PagedFlux<>(
+ () -> listByLocationSinglePageAsync(location), nextLink -> listByLocationNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Returns a list of available cluster pool versions.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location, Context context) {
+ return new PagedFlux<>(
+ () -> listByLocationSinglePageAsync(location, context),
+ nextLink -> listByLocationNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Returns a list of available cluster pool versions.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location) {
+ return new PagedIterable<>(listByLocationAsync(location));
+ }
+
+ /**
+ * Returns a list of available cluster pool versions.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location, Context context) {
+ return new PagedIterable<>(listByLocationAsync(location, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByLocationNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster pool versions along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByLocationNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterPoolVersionsImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterPoolVersionsImpl.java
new file mode 100644
index 000000000000..58e26844bfdb
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterPoolVersionsImpl.java
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.AvailableClusterPoolVersionsClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterPoolVersionInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.AvailableClusterPoolVersions;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolVersion;
+
+public final class AvailableClusterPoolVersionsImpl implements AvailableClusterPoolVersions {
+ private static final ClientLogger LOGGER = new ClientLogger(AvailableClusterPoolVersionsImpl.class);
+
+ private final AvailableClusterPoolVersionsClient innerClient;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ public AvailableClusterPoolVersionsImpl(
+ AvailableClusterPoolVersionsClient innerClient,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByLocation(String location) {
+ PagedIterable inner = this.serviceClient().listByLocation(location);
+ return Utils.mapPage(inner, inner1 -> new ClusterPoolVersionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByLocation(String location, Context context) {
+ PagedIterable inner = this.serviceClient().listByLocation(location, context);
+ return Utils.mapPage(inner, inner1 -> new ClusterPoolVersionImpl(inner1, this.manager()));
+ }
+
+ private AvailableClusterPoolVersionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterVersionsClientImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterVersionsClientImpl.java
new file mode 100644
index 000000000000..43cb68399293
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterVersionsClientImpl.java
@@ -0,0 +1,320 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.AvailableClusterVersionsClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterVersionInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterVersionsListResult;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in AvailableClusterVersionsClient. */
+public final class AvailableClusterVersionsClientImpl implements AvailableClusterVersionsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AvailableClusterVersionsService service;
+
+ /** The service client containing this operation class. */
+ private final HDInsightOnAksManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AvailableClusterVersionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AvailableClusterVersionsClientImpl(HDInsightOnAksManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(AvailableClusterVersionsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HDInsightOnAksManagementClientAvailableClusterVersions to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HDInsightOnAksManage")
+ public interface AvailableClusterVersionsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/availableClusterVersions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocation(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocationNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Returns a list of available cluster versions.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationSinglePageAsync(String location) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByLocation(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ location,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Returns a list of available cluster versions.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationSinglePageAsync(String location, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByLocation(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ location,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Returns a list of available cluster versions.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location) {
+ return new PagedFlux<>(
+ () -> listByLocationSinglePageAsync(location), nextLink -> listByLocationNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Returns a list of available cluster versions.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location, Context context) {
+ return new PagedFlux<>(
+ () -> listByLocationSinglePageAsync(location, context),
+ nextLink -> listByLocationNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Returns a list of available cluster versions.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location) {
+ return new PagedIterable<>(listByLocationAsync(location));
+ }
+
+ /**
+ * Returns a list of available cluster versions.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location, Context context) {
+ return new PagedIterable<>(listByLocationAsync(location, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByLocationNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return represents a list of cluster versions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByLocationNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterVersionsImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterVersionsImpl.java
new file mode 100644
index 000000000000..67b6039cd2e5
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/AvailableClusterVersionsImpl.java
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.AvailableClusterVersionsClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterVersionInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.AvailableClusterVersions;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterVersion;
+
+public final class AvailableClusterVersionsImpl implements AvailableClusterVersions {
+ private static final ClientLogger LOGGER = new ClientLogger(AvailableClusterVersionsImpl.class);
+
+ private final AvailableClusterVersionsClient innerClient;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ public AvailableClusterVersionsImpl(
+ AvailableClusterVersionsClient innerClient,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByLocation(String location) {
+ PagedIterable inner = this.serviceClient().listByLocation(location);
+ return Utils.mapPage(inner, inner1 -> new ClusterVersionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByLocation(String location, Context context) {
+ PagedIterable inner = this.serviceClient().listByLocation(location, context);
+ return Utils.mapPage(inner, inner1 -> new ClusterVersionImpl(inner1, this.manager()));
+ }
+
+ private AvailableClusterVersionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterImpl.java
new file mode 100644
index 000000000000..bcde8f339946
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterImpl.java
@@ -0,0 +1,246 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.Cluster;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPatch;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterResizeData;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ComputeProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ProvisioningStatus;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.UpdatableClusterProfile;
+import java.util.Collections;
+import java.util.Map;
+
+public final class ClusterImpl implements Cluster, Cluster.Definition, Cluster.Update {
+ private ClusterInner innerObject;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public ProvisioningStatus provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public String clusterType() {
+ return this.innerModel().clusterType();
+ }
+
+ public String deploymentId() {
+ return this.innerModel().deploymentId();
+ }
+
+ public ComputeProfile computeProfile() {
+ return this.innerModel().computeProfile();
+ }
+
+ public ClusterProfile clusterProfile() {
+ return this.innerModel().clusterProfile();
+ }
+
+ public String status() {
+ return this.innerModel().status();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public ClusterInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String clusterPoolName;
+
+ private String clusterName;
+
+ private ClusterPatch updateClusterPatchRequest;
+
+ public ClusterImpl withExistingClusterpool(String resourceGroupName, String clusterPoolName) {
+ this.resourceGroupName = resourceGroupName;
+ this.clusterPoolName = clusterPoolName;
+ return this;
+ }
+
+ public Cluster create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .create(resourceGroupName, clusterPoolName, clusterName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public Cluster create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .create(resourceGroupName, clusterPoolName, clusterName, this.innerModel(), context);
+ return this;
+ }
+
+ ClusterImpl(
+ String name,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerObject = new ClusterInner();
+ this.serviceManager = serviceManager;
+ this.clusterName = name;
+ }
+
+ public ClusterImpl update() {
+ this.updateClusterPatchRequest = new ClusterPatch();
+ return this;
+ }
+
+ public Cluster apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .update(resourceGroupName, clusterPoolName, clusterName, updateClusterPatchRequest, Context.NONE);
+ return this;
+ }
+
+ public Cluster apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .update(resourceGroupName, clusterPoolName, clusterName, updateClusterPatchRequest, context);
+ return this;
+ }
+
+ ClusterImpl(
+ ClusterInner innerObject,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.clusterPoolName = Utils.getValueFromIdByName(innerObject.id(), "clusterpools");
+ this.clusterName = Utils.getValueFromIdByName(innerObject.id(), "clusters");
+ }
+
+ public Cluster refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .getWithResponse(resourceGroupName, clusterPoolName, clusterName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Cluster refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusters()
+ .getWithResponse(resourceGroupName, clusterPoolName, clusterName, context)
+ .getValue();
+ return this;
+ }
+
+ public Cluster resize(ClusterResizeData clusterResizeRequest) {
+ return serviceManager.clusters().resize(resourceGroupName, clusterPoolName, clusterName, clusterResizeRequest);
+ }
+
+ public Cluster resize(ClusterResizeData clusterResizeRequest, Context context) {
+ return serviceManager
+ .clusters()
+ .resize(resourceGroupName, clusterPoolName, clusterName, clusterResizeRequest, context);
+ }
+
+ public ClusterImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public ClusterImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public ClusterImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateClusterPatchRequest.withTags(tags);
+ return this;
+ }
+ }
+
+ public ClusterImpl withClusterType(String clusterType) {
+ this.innerModel().withClusterType(clusterType);
+ return this;
+ }
+
+ public ClusterImpl withComputeProfile(ComputeProfile computeProfile) {
+ this.innerModel().withComputeProfile(computeProfile);
+ return this;
+ }
+
+ public ClusterImpl withClusterProfile(ClusterProfile clusterProfile) {
+ this.innerModel().withClusterProfile(clusterProfile);
+ return this;
+ }
+
+ public ClusterImpl withClusterProfile(UpdatableClusterProfile clusterProfile) {
+ this.updateClusterPatchRequest.withClusterProfile(clusterProfile);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterInstanceViewResultImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterInstanceViewResultImpl.java
new file mode 100644
index 000000000000..3c4947952377
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterInstanceViewResultImpl.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterInstanceViewResultInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterInstanceViewPropertiesStatus;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterInstanceViewResult;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ServiceStatus;
+import java.util.Collections;
+import java.util.List;
+
+public final class ClusterInstanceViewResultImpl implements ClusterInstanceViewResult {
+ private ClusterInstanceViewResultInner innerObject;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ ClusterInstanceViewResultImpl(
+ ClusterInstanceViewResultInner innerObject,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public ClusterInstanceViewPropertiesStatus status() {
+ return this.innerModel().status();
+ }
+
+ public List serviceStatuses() {
+ List inner = this.innerModel().serviceStatuses();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public ClusterInstanceViewResultInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobImpl.java
new file mode 100644
index 000000000000..16e751781786
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobImpl.java
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterJobInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterJob;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterJobProperties;
+
+public final class ClusterJobImpl implements ClusterJob {
+ private ClusterJobInner innerObject;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ ClusterJobImpl(
+ ClusterJobInner innerObject,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public ClusterJobProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public ClusterJobInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobsClientImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobsClientImpl.java
new file mode 100644
index 000000000000..aa9e3966b4e3
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobsClientImpl.java
@@ -0,0 +1,687 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.ClusterJobsClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterJobInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterJobList;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ClusterJobsClient. */
+public final class ClusterJobsClientImpl implements ClusterJobsClient {
+ /** The proxy service used to perform REST calls. */
+ private final ClusterJobsService service;
+
+ /** The service client containing this operation class. */
+ private final HDInsightOnAksManagementClientImpl client;
+
+ /**
+ * Initializes an instance of ClusterJobsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ClusterJobsClientImpl(HDInsightOnAksManagementClientImpl client) {
+ this.service =
+ RestProxy.create(ClusterJobsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HDInsightOnAksManagementClientClusterJobs to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HDInsightOnAksManage")
+ public interface ClusterJobsService {
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}/runJob")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> runJob(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @BodyParam("application/json") ClusterJobInner clusterJob,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}/jobs")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster job along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> runJobWithResponseAsync(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterJobInner clusterJob) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (clusterJob == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterJob is required and cannot be null."));
+ } else {
+ clusterJob.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .runJob(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ clusterName,
+ clusterJob,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster job along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> runJobWithResponseAsync(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterJobInner clusterJob,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (clusterJob == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterJob is required and cannot be null."));
+ } else {
+ clusterJob.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .runJob(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ clusterName,
+ clusterJob,
+ accept,
+ context);
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ClusterJobInner> beginRunJobAsync(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterJobInner clusterJob) {
+ Mono>> mono =
+ runJobWithResponseAsync(resourceGroupName, clusterPoolName, clusterName, clusterJob);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ ClusterJobInner.class,
+ ClusterJobInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ClusterJobInner> beginRunJobAsync(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterJobInner clusterJob,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ runJobWithResponseAsync(resourceGroupName, clusterPoolName, clusterName, clusterJob, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ClusterJobInner.class, ClusterJobInner.class, context);
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ClusterJobInner> beginRunJob(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterJobInner clusterJob) {
+ return this.beginRunJobAsync(resourceGroupName, clusterPoolName, clusterName, clusterJob).getSyncPoller();
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ClusterJobInner> beginRunJob(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterJobInner clusterJob,
+ Context context) {
+ return this
+ .beginRunJobAsync(resourceGroupName, clusterPoolName, clusterName, clusterJob, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster job on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono runJobAsync(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterJobInner clusterJob) {
+ return beginRunJobAsync(resourceGroupName, clusterPoolName, clusterName, clusterJob)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster job on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono runJobAsync(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterJobInner clusterJob,
+ Context context) {
+ return beginRunJobAsync(resourceGroupName, clusterPoolName, clusterName, clusterJob, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterJobInner runJob(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterJobInner clusterJob) {
+ return runJobAsync(resourceGroupName, clusterPoolName, clusterName, clusterJob).block();
+ }
+
+ /**
+ * Operations on jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterJob The Cluster job.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterJobInner runJob(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterJobInner clusterJob,
+ Context context) {
+ return runJobAsync(resourceGroupName, clusterPoolName, clusterName, clusterJob, context).block();
+ }
+
+ /**
+ * Get jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return jobs of HDInsight on AKS cluster along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName, String clusterPoolName, String clusterName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ clusterName,
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return jobs of HDInsight on AKS cluster along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ clusterName,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return jobs of HDInsight on AKS cluster as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String resourceGroupName, String clusterPoolName, String clusterName) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(resourceGroupName, clusterPoolName, clusterName),
+ nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Get jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return jobs of HDInsight on AKS cluster as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(resourceGroupName, clusterPoolName, clusterName, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Get jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return jobs of HDInsight on AKS cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String resourceGroupName, String clusterPoolName, String clusterName) {
+ return new PagedIterable<>(listAsync(resourceGroupName, clusterPoolName, clusterName));
+ }
+
+ /**
+ * Get jobs of HDInsight on AKS cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return jobs of HDInsight on AKS cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context) {
+ return new PagedIterable<>(listAsync(resourceGroupName, clusterPoolName, clusterName, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of cluster job along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of cluster job along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobsImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobsImpl.java
new file mode 100644
index 000000000000..6ac12f6732c4
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterJobsImpl.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.ClusterJobsClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterJobInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterJob;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterJobs;
+
+public final class ClusterJobsImpl implements ClusterJobs {
+ private static final ClientLogger LOGGER = new ClientLogger(ClusterJobsImpl.class);
+
+ private final ClusterJobsClient innerClient;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ public ClusterJobsImpl(
+ ClusterJobsClient innerClient,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public ClusterJob runJob(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterJobInner clusterJob) {
+ ClusterJobInner inner =
+ this.serviceClient().runJob(resourceGroupName, clusterPoolName, clusterName, clusterJob);
+ if (inner != null) {
+ return new ClusterJobImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public ClusterJob runJob(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterJobInner clusterJob,
+ Context context) {
+ ClusterJobInner inner =
+ this.serviceClient().runJob(resourceGroupName, clusterPoolName, clusterName, clusterJob, context);
+ if (inner != null) {
+ return new ClusterJobImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public PagedIterable list(String resourceGroupName, String clusterPoolName, String clusterName) {
+ PagedIterable inner =
+ this.serviceClient().list(resourceGroupName, clusterPoolName, clusterName);
+ return Utils.mapPage(inner, inner1 -> new ClusterJobImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(
+ String resourceGroupName, String clusterPoolName, String clusterName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().list(resourceGroupName, clusterPoolName, clusterName, context);
+ return Utils.mapPage(inner, inner1 -> new ClusterJobImpl(inner1, this.manager()));
+ }
+
+ private ClusterJobsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolImpl.java
new file mode 100644
index 000000000000..2ca774a42e6a
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolImpl.java
@@ -0,0 +1,255 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterPoolInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPool;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesAksClusterProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesClusterPoolProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesComputeProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesLogAnalyticsProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolResourcePropertiesNetworkProfile;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ProvisioningStatus;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.TagsObject;
+import java.util.Collections;
+import java.util.Map;
+
+public final class ClusterPoolImpl implements ClusterPool, ClusterPool.Definition, ClusterPool.Update {
+ private ClusterPoolInner innerObject;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public ProvisioningStatus provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public String deploymentId() {
+ return this.innerModel().deploymentId();
+ }
+
+ public String managedResourceGroupName() {
+ return this.innerModel().managedResourceGroupName();
+ }
+
+ public String aksManagedResourceGroupName() {
+ return this.innerModel().aksManagedResourceGroupName();
+ }
+
+ public ClusterPoolResourcePropertiesClusterPoolProfile clusterPoolProfile() {
+ return this.innerModel().clusterPoolProfile();
+ }
+
+ public ClusterPoolResourcePropertiesComputeProfile computeProfile() {
+ return this.innerModel().computeProfile();
+ }
+
+ public ClusterPoolResourcePropertiesAksClusterProfile aksClusterProfile() {
+ return this.innerModel().aksClusterProfile();
+ }
+
+ public ClusterPoolResourcePropertiesNetworkProfile networkProfile() {
+ return this.innerModel().networkProfile();
+ }
+
+ public ClusterPoolResourcePropertiesLogAnalyticsProfile logAnalyticsProfile() {
+ return this.innerModel().logAnalyticsProfile();
+ }
+
+ public String status() {
+ return this.innerModel().status();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public ClusterPoolInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String clusterPoolName;
+
+ private TagsObject updateClusterPoolTags;
+
+ public ClusterPoolImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public ClusterPool create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusterPools()
+ .createOrUpdate(resourceGroupName, clusterPoolName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public ClusterPool create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusterPools()
+ .createOrUpdate(resourceGroupName, clusterPoolName, this.innerModel(), context);
+ return this;
+ }
+
+ ClusterPoolImpl(
+ String name,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerObject = new ClusterPoolInner();
+ this.serviceManager = serviceManager;
+ this.clusterPoolName = name;
+ }
+
+ public ClusterPoolImpl update() {
+ this.updateClusterPoolTags = new TagsObject();
+ return this;
+ }
+
+ public ClusterPool apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusterPools()
+ .updateTags(resourceGroupName, clusterPoolName, updateClusterPoolTags, Context.NONE);
+ return this;
+ }
+
+ public ClusterPool apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusterPools()
+ .updateTags(resourceGroupName, clusterPoolName, updateClusterPoolTags, context);
+ return this;
+ }
+
+ ClusterPoolImpl(
+ ClusterPoolInner innerObject,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.clusterPoolName = Utils.getValueFromIdByName(innerObject.id(), "clusterpools");
+ }
+
+ public ClusterPool refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusterPools()
+ .getByResourceGroupWithResponse(resourceGroupName, clusterPoolName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ClusterPool refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getClusterPools()
+ .getByResourceGroupWithResponse(resourceGroupName, clusterPoolName, context)
+ .getValue();
+ return this;
+ }
+
+ public ClusterPoolImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public ClusterPoolImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public ClusterPoolImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateClusterPoolTags.withTags(tags);
+ return this;
+ }
+ }
+
+ public ClusterPoolImpl withManagedResourceGroupName(String managedResourceGroupName) {
+ this.innerModel().withManagedResourceGroupName(managedResourceGroupName);
+ return this;
+ }
+
+ public ClusterPoolImpl withClusterPoolProfile(ClusterPoolResourcePropertiesClusterPoolProfile clusterPoolProfile) {
+ this.innerModel().withClusterPoolProfile(clusterPoolProfile);
+ return this;
+ }
+
+ public ClusterPoolImpl withComputeProfile(ClusterPoolResourcePropertiesComputeProfile computeProfile) {
+ this.innerModel().withComputeProfile(computeProfile);
+ return this;
+ }
+
+ public ClusterPoolImpl withNetworkProfile(ClusterPoolResourcePropertiesNetworkProfile networkProfile) {
+ this.innerModel().withNetworkProfile(networkProfile);
+ return this;
+ }
+
+ public ClusterPoolImpl withLogAnalyticsProfile(
+ ClusterPoolResourcePropertiesLogAnalyticsProfile logAnalyticsProfile) {
+ this.innerModel().withLogAnalyticsProfile(logAnalyticsProfile);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolVersionImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolVersionImpl.java
new file mode 100644
index 000000000000..fe60dfe94ac9
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolVersionImpl.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterPoolVersionInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolVersion;
+
+public final class ClusterPoolVersionImpl implements ClusterPoolVersion {
+ private ClusterPoolVersionInner innerObject;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ ClusterPoolVersionImpl(
+ ClusterPoolVersionInner innerObject,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String clusterPoolVersion() {
+ return this.innerModel().clusterPoolVersion();
+ }
+
+ public String aksVersion() {
+ return this.innerModel().aksVersion();
+ }
+
+ public Boolean isPreview() {
+ return this.innerModel().isPreview();
+ }
+
+ public ClusterPoolVersionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolsClientImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolsClientImpl.java
new file mode 100644
index 000000000000..d8d70bcfcef3
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolsClientImpl.java
@@ -0,0 +1,1547 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.ClusterPoolsClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterPoolInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPoolListResult;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.TagsObject;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ClusterPoolsClient. */
+public final class ClusterPoolsClientImpl implements ClusterPoolsClient {
+ /** The proxy service used to perform REST calls. */
+ private final ClusterPoolsService service;
+
+ /** The service client containing this operation class. */
+ private final HDInsightOnAksManagementClientImpl client;
+
+ /**
+ * Initializes an instance of ClusterPoolsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ClusterPoolsClientImpl(HDInsightOnAksManagementClientImpl client) {
+ this.service =
+ RestProxy.create(ClusterPoolsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HDInsightOnAksManagementClientClusterPools to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HDInsightOnAksManage")
+ public interface ClusterPoolsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @BodyParam("application/json") ClusterPoolInner clusterPool,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> updateTags(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @BodyParam("application/json") TagsObject clusterPoolTags,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusterpools")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a cluster pool along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String clusterPoolName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a cluster pool along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ accept,
+ context);
+ }
+
+ /**
+ * Gets a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a cluster pool on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(String resourceGroupName, String clusterPoolName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, clusterPoolName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a cluster pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, clusterPoolName, context).block();
+ }
+
+ /**
+ * Gets a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterPoolInner getByResourceGroup(String resourceGroupName, String clusterPoolName) {
+ return getByResourceGroupWithResponse(resourceGroupName, clusterPoolName, Context.NONE).getValue();
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterPool == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterPool is required and cannot be null."));
+ } else {
+ clusterPool.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ clusterPool,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterPool == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterPool is required and cannot be null."));
+ } else {
+ clusterPool.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ clusterPool,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ClusterPoolInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool) {
+ Mono>> mono =
+ createOrUpdateWithResponseAsync(resourceGroupName, clusterPoolName, clusterPool);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ ClusterPoolInner.class,
+ ClusterPoolInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ClusterPoolInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ createOrUpdateWithResponseAsync(resourceGroupName, clusterPoolName, clusterPool, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ClusterPoolInner.class, ClusterPoolInner.class, context);
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ClusterPoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, clusterPoolName, clusterPool).getSyncPoller();
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ClusterPoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool, Context context) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, clusterPoolName, clusterPool, context).getSyncPoller();
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool) {
+ return beginCreateOrUpdateAsync(resourceGroupName, clusterPoolName, clusterPool)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool, Context context) {
+ return beginCreateOrUpdateAsync(resourceGroupName, clusterPoolName, clusterPool, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterPoolInner createOrUpdate(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool) {
+ return createOrUpdateAsync(resourceGroupName, clusterPoolName, clusterPool).block();
+ }
+
+ /**
+ * Creates or updates a cluster pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPool The Cluster Pool to create.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterPoolInner createOrUpdate(
+ String resourceGroupName, String clusterPoolName, ClusterPoolInner clusterPool, Context context) {
+ return createOrUpdateAsync(resourceGroupName, clusterPoolName, clusterPool, context).block();
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateTagsWithResponseAsync(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterPoolTags == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolTags is required and cannot be null."));
+ } else {
+ clusterPoolTags.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .updateTags(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ clusterPoolName,
+ clusterPoolTags,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateTagsWithResponseAsync(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterPoolTags == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolTags is required and cannot be null."));
+ } else {
+ clusterPoolTags.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .updateTags(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ clusterPoolName,
+ clusterPoolTags,
+ accept,
+ context);
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ClusterPoolInner> beginUpdateTagsAsync(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags) {
+ Mono>> mono =
+ updateTagsWithResponseAsync(resourceGroupName, clusterPoolName, clusterPoolTags);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ ClusterPoolInner.class,
+ ClusterPoolInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ClusterPoolInner> beginUpdateTagsAsync(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ updateTagsWithResponseAsync(resourceGroupName, clusterPoolName, clusterPoolTags, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ClusterPoolInner.class, ClusterPoolInner.class, context);
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ClusterPoolInner> beginUpdateTags(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags) {
+ return this.beginUpdateTagsAsync(resourceGroupName, clusterPoolName, clusterPoolTags).getSyncPoller();
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ClusterPoolInner> beginUpdateTags(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags, Context context) {
+ return this.beginUpdateTagsAsync(resourceGroupName, clusterPoolName, clusterPoolTags, context).getSyncPoller();
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateTagsAsync(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags) {
+ return beginUpdateTagsAsync(resourceGroupName, clusterPoolName, clusterPoolTags)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateTagsAsync(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags, Context context) {
+ return beginUpdateTagsAsync(resourceGroupName, clusterPoolName, clusterPoolTags, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterPoolInner updateTags(String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags) {
+ return updateTagsAsync(resourceGroupName, clusterPoolName, clusterPoolTags).block();
+ }
+
+ /**
+ * Updates an existing Cluster Pool Tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterPoolTags Parameters supplied to update tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cluster pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ClusterPoolInner updateTags(
+ String resourceGroupName, String clusterPoolName, TagsObject clusterPoolTags, Context context) {
+ return updateTagsAsync(resourceGroupName, clusterPoolName, clusterPoolTags, context).block();
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String clusterPoolName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ accept,
+ context);
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String clusterPoolName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, clusterPoolName);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), Void.class, Void.class, this.client.getContext());
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, clusterPoolName, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String clusterPoolName) {
+ return this.beginDeleteAsync(resourceGroupName, clusterPoolName).getSyncPoller();
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ return this.beginDeleteAsync(resourceGroupName, clusterPoolName, context).getSyncPoller();
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String clusterPoolName) {
+ return beginDeleteAsync(resourceGroupName, clusterPoolName)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String clusterPoolName, Context context) {
+ return beginDeleteAsync(resourceGroupName, clusterPoolName, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String clusterPoolName) {
+ deleteAsync(resourceGroupName, clusterPoolName).block();
+ }
+
+ /**
+ * Deletes a Cluster Pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String clusterPoolName, Context context) {
+ deleteAsync(resourceGroupName, clusterPoolName, context).block();
+ }
+
+ /**
+ * Gets the list of Cluster Pools within a Subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Cluster Pools within a Subscription along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the list of Cluster Pools within a Subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Cluster Pools within a Subscription along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets the list of Cluster Pools within a Subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Cluster Pools within a Subscription as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(), nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets the list of Cluster Pools within a Subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Cluster Pools within a Subscription as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(context), nextLink -> listBySubscriptionNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets the list of Cluster Pools within a Subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Cluster Pools within a Subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * Gets the list of Cluster Pools within a Subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Cluster Pools within a Subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(context));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(
+ String resourceGroupName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(
+ () -> listByResourceGroupSinglePageAsync(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName, Context context) {
+ return new PagedFlux<>(
+ () -> listByResourceGroupSinglePageAsync(resourceGroupName, context),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listBySubscriptionNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listBySubscriptionNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster pools operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolsImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolsImpl.java
new file mode 100644
index 000000000000..82754e6de45d
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterPoolsImpl.java
@@ -0,0 +1,171 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.ClusterPoolsClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterPoolInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPool;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPools;
+
+public final class ClusterPoolsImpl implements ClusterPools {
+ private static final ClientLogger LOGGER = new ClientLogger(ClusterPoolsImpl.class);
+
+ private final ClusterPoolsClient innerClient;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ public ClusterPoolsImpl(
+ ClusterPoolsClient innerClient,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ Response inner =
+ this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, clusterPoolName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new ClusterPoolImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public ClusterPool getByResourceGroup(String resourceGroupName, String clusterPoolName) {
+ ClusterPoolInner inner = this.serviceClient().getByResourceGroup(resourceGroupName, clusterPoolName);
+ if (inner != null) {
+ return new ClusterPoolImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String clusterPoolName) {
+ this.serviceClient().delete(resourceGroupName, clusterPoolName);
+ }
+
+ public void delete(String resourceGroupName, String clusterPoolName, Context context) {
+ this.serviceClient().delete(resourceGroupName, clusterPoolName, context);
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return Utils.mapPage(inner, inner1 -> new ClusterPoolImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return Utils.mapPage(inner, inner1 -> new ClusterPoolImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName);
+ return Utils.mapPage(inner, inner1 -> new ClusterPoolImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName, context);
+ return Utils.mapPage(inner, inner1 -> new ClusterPoolImpl(inner1, this.manager()));
+ }
+
+ public ClusterPool getById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String clusterPoolName = Utils.getValueFromIdByName(id, "clusterpools");
+ if (clusterPoolName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'clusterpools'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, clusterPoolName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String clusterPoolName = Utils.getValueFromIdByName(id, "clusterpools");
+ if (clusterPoolName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'clusterpools'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, clusterPoolName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String clusterPoolName = Utils.getValueFromIdByName(id, "clusterpools");
+ if (clusterPoolName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'clusterpools'.", id)));
+ }
+ this.delete(resourceGroupName, clusterPoolName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String clusterPoolName = Utils.getValueFromIdByName(id, "clusterpools");
+ if (clusterPoolName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'clusterpools'.", id)));
+ }
+ this.delete(resourceGroupName, clusterPoolName, context);
+ }
+
+ private ClusterPoolsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+
+ public ClusterPoolImpl define(String name) {
+ return new ClusterPoolImpl(name, this.manager());
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterVersionImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterVersionImpl.java
new file mode 100644
index 000000000000..774efae80b87
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClusterVersionImpl.java
@@ -0,0 +1,74 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterVersionInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterComponentsItem;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterVersion;
+import java.util.Collections;
+import java.util.List;
+
+public final class ClusterVersionImpl implements ClusterVersion {
+ private ClusterVersionInner innerObject;
+
+ private final com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager
+ serviceManager;
+
+ ClusterVersionImpl(
+ ClusterVersionInner innerObject,
+ com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String clusterType() {
+ return this.innerModel().clusterType();
+ }
+
+ public String clusterVersion() {
+ return this.innerModel().clusterVersion();
+ }
+
+ public String ossVersion() {
+ return this.innerModel().ossVersion();
+ }
+
+ public String clusterPoolVersion() {
+ return this.innerModel().clusterPoolVersion();
+ }
+
+ public Boolean isPreview() {
+ return this.innerModel().isPreview();
+ }
+
+ public List components() {
+ List inner = this.innerModel().components();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public ClusterVersionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.HDInsightOnAksManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClustersClientImpl.java b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClustersClientImpl.java
new file mode 100644
index 000000000000..9ebff44059ad
--- /dev/null
+++ b/sdk/hdinsightmicrosofthdinsighthdinsightonaks/azure-resourcemanager-hdinsightmicrosofthdinsighthdinsightonaks/src/main/java/com/azure/resourcemanager/hdinsightmicrosofthdinsighthdinsightonaks/implementation/ClustersClientImpl.java
@@ -0,0 +1,2551 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.ClustersClient;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ClusterInstanceViewResultInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.fluent.models.ServiceConfigResultInner;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterInstanceViewsResult;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterListResult;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterPatch;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ClusterResizeData;
+import com.azure.resourcemanager.hdinsightmicrosofthdinsighthdinsightonaks.models.ServiceConfigListResult;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ClustersClient. */
+public final class ClustersClientImpl implements ClustersClient {
+ /** The proxy service used to perform REST calls. */
+ private final ClustersService service;
+
+ /** The service client containing this operation class. */
+ private final HDInsightOnAksManagementClientImpl client;
+
+ /**
+ * Initializes an instance of ClustersClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ClustersClientImpl(HDInsightOnAksManagementClientImpl client) {
+ this.service = RestProxy.create(ClustersService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HDInsightOnAksManagementClientClusters to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HDInsightOnAksManage")
+ public interface ClustersService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByClusterPoolName(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}/resize")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> resize(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @BodyParam("application/json") ClusterResizeData clusterResizeRequest,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @BodyParam("application/json") ClusterInner hDInsightCluster,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @BodyParam("application/json") ClusterPatch clusterPatchRequest,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}/serviceConfigs")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listServiceConfigs(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}/instanceViews")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listInstanceViews(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusterpools/{clusterPoolName}/clusters/{clusterName}/instanceViews/default")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getInstanceView(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("clusterPoolName") String clusterPoolName,
+ @PathParam("clusterName") String clusterName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByClusterPoolNameNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listServiceConfigsNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listInstanceViewsNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster operation response along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByClusterPoolNameSinglePageAsync(
+ String resourceGroupName, String clusterPoolName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByClusterPoolName(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster operation response along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByClusterPoolNameSinglePageAsync(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByClusterPoolName(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ clusterPoolName,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByClusterPoolNameAsync(String resourceGroupName, String clusterPoolName) {
+ return new PagedFlux<>(
+ () -> listByClusterPoolNameSinglePageAsync(resourceGroupName, clusterPoolName),
+ nextLink -> listByClusterPoolNameNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByClusterPoolNameAsync(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ return new PagedFlux<>(
+ () -> listByClusterPoolNameSinglePageAsync(resourceGroupName, clusterPoolName, context),
+ nextLink -> listByClusterPoolNameNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByClusterPoolName(String resourceGroupName, String clusterPoolName) {
+ return new PagedIterable<>(listByClusterPoolNameAsync(resourceGroupName, clusterPoolName));
+ }
+
+ /**
+ * Lists the HDInsight cluster pools under a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list cluster operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByClusterPoolName(
+ String resourceGroupName, String clusterPoolName, Context context) {
+ return new PagedIterable<>(listByClusterPoolNameAsync(resourceGroupName, clusterPoolName, context));
+ }
+
+ /**
+ * Resize an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterResizeRequest Resize a cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the cluster along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> resizeWithResponseAsync(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterResizeData clusterResizeRequest) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (clusterResizeRequest == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResizeRequest is required and cannot be null."));
+ } else {
+ clusterResizeRequest.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .resize(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ clusterPoolName,
+ clusterName,
+ clusterResizeRequest,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Resize an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterResizeRequest Resize a cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the cluster along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> resizeWithResponseAsync(
+ String resourceGroupName,
+ String clusterPoolName,
+ String clusterName,
+ ClusterResizeData clusterResizeRequest,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (clusterPoolName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterPoolName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (clusterResizeRequest == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResizeRequest is required and cannot be null."));
+ } else {
+ clusterResizeRequest.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .resize(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ clusterPoolName,
+ clusterName,
+ clusterResizeRequest,
+ accept,
+ context);
+ }
+
+ /**
+ * Resize an existing Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterPoolName The name of the cluster pool.
+ * @param clusterName The name of the HDInsight cluster.
+ * @param clusterResizeRequest Resize a cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ClusterInner> beginResizeAsync(
+ String resourceGroupName, String clusterPoolName, String clusterName, ClusterResizeData clusterResizeRequest) {
+ Mono>> mono =
+ resizeWithResponseAsync(resourceGroupName, clusterPoolName, clusterName, clusterResizeRequest);
+ return this
+ .client
+ .