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 ContainerService service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the ContainerService service API instance.
+ */
+ public ContainerServiceManager 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.containerservicemicrosoftcontainerserviceaks.generated")
+ .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 Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state
+ * and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can
+ * take place, a 409 error code is returned.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent 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 Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state
+ * and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can
+ * take place, a 409 error code is returned.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent 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 Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state
+ * and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can
+ * take place, a 409 error code is returned.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent 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 abortLatestOperation(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Aborts last operation running on agent pool.
+ *
+ * Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state
+ * and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can
+ * take place, a 409 error code is returned.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent 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 abortLatestOperation(String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of agent pools in the specified managed cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for
+ * more details about the version lifecycle.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of available versions for an agent pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for
+ * more details about the version lifecycle.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of available versions for an agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolAvailableVersionsInner getAvailableAgentPoolVersions(String resourceGroupName, String resourceName);
+
+ /**
+ * Upgrades the node image version of an agent pool to the latest.
+ *
+ * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS
+ * provides one new image per week with the latest updates. For more details on node image versions, see:
+ * https://docs.microsoft.com/azure/aks/node-image-upgrade.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent 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 Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS
+ * provides one new image per week with the latest updates. For more details on node image versions, see:
+ * https://docs.microsoft.com/azure/aks/node-image-upgrade.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent 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 Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS
+ * provides one new image per week with the latest updates. For more details on node image versions, see:
+ * https://docs.microsoft.com/azure/aks/node-image-upgrade.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner upgradeNodeImageVersion(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Upgrades the node image version of an agent pool to the latest.
+ *
+ * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS
+ * provides one new image per week with the latest updates. For more details on node image versions, see:
+ * https://docs.microsoft.com/azure/aks/node-image-upgrade.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner upgradeNodeImageVersion(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ContainerServiceManagementClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ContainerServiceManagementClient.java
new file mode 100644
index 0000000000000..ca5fa2016fae0
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ContainerServiceManagementClient.java
@@ -0,0 +1,124 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for ContainerServiceManagementClient class. */
+public interface ContainerServiceManagementClient {
+ /**
+ * Gets Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms
+ * part of the URI for every service call.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OpenShiftManagedClustersClient object to access its operations.
+ *
+ * @return the OpenShiftManagedClustersClient object.
+ */
+ OpenShiftManagedClustersClient getOpenShiftManagedClusters();
+
+ /**
+ * Gets the ContainerServicesClient object to access its operations.
+ *
+ * @return the ContainerServicesClient object.
+ */
+ ContainerServicesClient getContainerServices();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the ManagedClustersClient object to access its operations.
+ *
+ * @return the ManagedClustersClient object.
+ */
+ ManagedClustersClient getManagedClusters();
+
+ /**
+ * Gets the MaintenanceConfigurationsClient object to access its operations.
+ *
+ * @return the MaintenanceConfigurationsClient object.
+ */
+ MaintenanceConfigurationsClient getMaintenanceConfigurations();
+
+ /**
+ * Gets the AgentPoolsClient object to access its operations.
+ *
+ * @return the AgentPoolsClient object.
+ */
+ AgentPoolsClient getAgentPools();
+
+ /**
+ * Gets the PrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the PrivateEndpointConnectionsClient object.
+ */
+ PrivateEndpointConnectionsClient getPrivateEndpointConnections();
+
+ /**
+ * Gets the PrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the PrivateLinkResourcesClient object.
+ */
+ PrivateLinkResourcesClient getPrivateLinkResources();
+
+ /**
+ * Gets the ResolvePrivateLinkServiceIdsClient object to access its operations.
+ *
+ * @return the ResolvePrivateLinkServiceIdsClient object.
+ */
+ ResolvePrivateLinkServiceIdsClient getResolvePrivateLinkServiceIds();
+
+ /**
+ * Gets the SnapshotsClient object to access its operations.
+ *
+ * @return the SnapshotsClient object.
+ */
+ SnapshotsClient getSnapshots();
+
+ /**
+ * Gets the TrustedAccessRoleBindingsClient object to access its operations.
+ *
+ * @return the TrustedAccessRoleBindingsClient object.
+ */
+ TrustedAccessRoleBindingsClient getTrustedAccessRoleBindings();
+
+ /**
+ * Gets the TrustedAccessRolesClient object to access its operations.
+ *
+ * @return the TrustedAccessRolesClient object.
+ */
+ TrustedAccessRolesClient getTrustedAccessRoles();
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ContainerServicesClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ContainerServicesClient.java
new file mode 100644
index 0000000000000..7ce64bdd617e2
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ContainerServicesClient.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.containerservicemicrosoftcontainerserviceaks.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.OrchestratorVersionProfileListResultInner;
+
+/** An instance of this class provides access to all the operations defined in ContainerServicesClient. */
+public interface ContainerServicesClient {
+ /**
+ * Gets a list of supported orchestrators in the specified subscription.
+ *
+ * Gets a list of supported orchestrators in the specified subscription. The operation returns properties of each
+ * orchestrator including version, available upgrades and whether that version or upgrades are in preview.
+ *
+ * @param location The name of a supported Azure region.
+ * @param resourceType resource type for which the list of orchestrators needs to be returned.
+ * @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 supported orchestrators in the specified subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Gets a list of supported orchestrators in the specified subscription. The operation returns properties of each
+ * orchestrator including version, available upgrades and whether that version or upgrades are in preview.
+ *
+ * @param location The name of a supported 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 a list of supported orchestrators in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OrchestratorVersionProfileListResultInner listOrchestrators(String location);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/MaintenanceConfigurationsClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/MaintenanceConfigurationsClient.java
new file mode 100644
index 0000000000000..597d3ee80c912
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/MaintenanceConfigurationsClient.java
@@ -0,0 +1,142 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.MaintenanceConfigurationInner;
+
+/** An instance of this class provides access to all the operations defined in MaintenanceConfigurationsClient. */
+public interface MaintenanceConfigurationsClient {
+ /**
+ * Gets a list of maintenance configurations in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of maintenance configurations in the specified managed cluster as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades,
+ * and details on preview status of the version.
+ *
+ * @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 hold values properties, which is array of KubernetesVersion along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades,
+ * and details on preview status of the version.
+ *
+ * @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 hold values properties, which is array of KubernetesVersion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KubernetesVersionListResultInner listKubernetesVersions(String location);
+
+ /**
+ * Gets a list of managed clusters in the specified subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of managed clusters in the specified subscription as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable **WARNING**: This API will be deprecated. Instead use
+ * [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials)
+ * or
+ * [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials)
+ * .
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param roleName The name of the role for managed cluster accessProfile 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 managed cluster Access Profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response **WARNING**: This API will be deprecated. Instead use
+ * [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials)
+ * or
+ * [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials)
+ * .
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param roleName The name of the role for managed cluster accessProfile 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 managed cluster Access Profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterAccessProfileInner getAccessProfile(String resourceGroupName, String resourceName, String roleName);
+
+ /**
+ * Lists the admin credentials of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param serverFqdn server fqdn type for credentials to be returned.
+ * @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 credential result response along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response This action cannot be performed on a cluster that is not using a service principal.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The service principal profile to set on the managed 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 This action cannot be performed on a cluster that is not using a service principal.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The service principal profile to set on the managed 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 This action cannot be performed on a cluster that is not using a service principal.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The service principal profile to set on the managed 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 resetServicePrincipalProfile(
+ String resourceGroupName, String resourceName, ManagedClusterServicePrincipalProfile parameters);
+
+ /**
+ * Reset the Service Principal Profile of a managed cluster.
+ *
+ * This action cannot be performed on a cluster that is not using a service principal.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The service principal profile to set on the managed 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 resetServicePrincipalProfile(
+ String resourceGroupName,
+ String resourceName,
+ ManagedClusterServicePrincipalProfile parameters,
+ Context context);
+
+ /**
+ * Reset the AAD Profile of a managed cluster.
+ *
+ * **WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory
+ * integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The AAD profile to set on the Managed 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 **WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory
+ * integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The AAD profile to set on the Managed 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 **WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory
+ * integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The AAD profile to set on the Managed 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 resetAadProfile(String resourceGroupName, String resourceName, ManagedClusterAadProfile parameters);
+
+ /**
+ * Reset the AAD Profile of a managed cluster.
+ *
+ * **WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory
+ * integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The AAD profile to set on the Managed 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 resetAadProfile(
+ String resourceGroupName, String resourceName, ManagedClusterAadProfile parameters, Context context);
+
+ /**
+ * Rotates the certificates of a managed cluster.
+ *
+ * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about
+ * rotating managed cluster certificates.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about
+ * rotating managed cluster certificates.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about
+ * rotating managed cluster certificates.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void rotateClusterCertificates(String resourceGroupName, String resourceName);
+
+ /**
+ * Rotates the certificates of a managed cluster.
+ *
+ * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about
+ * rotating managed cluster certificates.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void rotateClusterCertificates(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Aborts last operation running on managed cluster.
+ *
+ * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a
+ * Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before
+ * cancellation can take place, a 409 error code is returned.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a
+ * Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before
+ * cancellation can take place, a 409 error code is returned.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a
+ * Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before
+ * cancellation can take place, a 409 error code is returned.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void abortLatestOperation(String resourceGroupName, String resourceName);
+
+ /**
+ * Aborts last operation running on managed cluster.
+ *
+ * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a
+ * Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before
+ * cancellation can take place, a 409 error code is returned.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void abortLatestOperation(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Rotates the service account signing keys of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the
+ * control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue
+ * charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster)
+ * for more details about stopping a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the
+ * control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue
+ * charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster)
+ * for more details about stopping a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the
+ * control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue
+ * charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster)
+ * for more details about stopping a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String resourceName);
+
+ /**
+ * Stops a Managed Cluster
+ *
+ * This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the
+ * control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue
+ * charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster)
+ * for more details about stopping a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Starts a previously stopped Managed Cluster
+ *
+ * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about
+ * starting a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about
+ * starting a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about
+ * starting a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String resourceName);
+
+ /**
+ * Starts a previously stopped Managed Cluster
+ *
+ * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about
+ * starting a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Submits a command to run against the Managed Cluster.
+ *
+ * AKS will create a pod to run the command. This is primarily useful for private clusters. For more information
+ * see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param requestPayload The run command request.
+ * @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 run command result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller AKS will create a pod to run the command. This is primarily useful for private clusters. For more information
+ * see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param requestPayload The run command request.
+ * @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 run command result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller AKS will create a pod to run the command. This is primarily useful for private clusters. For more information
+ * see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param requestPayload The run command request.
+ * @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 run command result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunCommandResultInner runCommand(String resourceGroupName, String resourceName, RunCommandRequest requestPayload);
+
+ /**
+ * Submits a command to run against the Managed Cluster.
+ *
+ * AKS will create a pod to run the command. This is primarily useful for private clusters. For more information
+ * see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param requestPayload The run command request.
+ * @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 run command result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunCommandResultInner runCommand(
+ String resourceGroupName, String resourceName, RunCommandRequest requestPayload, Context context);
+
+ /**
+ * Gets the results of a command which has been run on the Managed Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param commandId Id of the command.
+ * @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 results of a command which has been run on the Managed Cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClustersGetCommandResultResponse getCommandResultWithResponse(
+ String resourceGroupName, String resourceName, String commandId, Context context);
+
+ /**
+ * Gets the results of a command which has been run on the Managed Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param commandId Id of the command.
+ * @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 results of a command which has been run on the Managed Cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunCommandResultInner getCommandResult(String resourceGroupName, String resourceName, String commandId);
+
+ /**
+ * Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster.
+ *
+ * Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster. The operation returns properties of each egress endpoint.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster. The operation returns properties of each egress endpoint.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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 a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Contains extra metadata on each revision, including supported revisions, cluster compatibility and available
+ * upgrades.
+ *
+ * @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 holds an array of MeshRevisionsProfiles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Contains extra metadata on each revision, including supported revisions, cluster compatibility and available
+ * upgrades.
+ *
+ * @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 holds an array of MeshRevisionsProfiles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Contains extra metadata on the revision, including supported revisions, cluster compatibility and available
+ * upgrades.
+ *
+ * @param location The name of the Azure region.
+ * @param mode The mode of the mesh.
+ * @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 mesh revision profile for a mesh along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Contains extra metadata on the revision, including supported revisions, cluster compatibility and available
+ * upgrades.
+ *
+ * @param location The name of the Azure region.
+ * @param mode The mode of the mesh.
+ * @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 mesh revision profile for a mesh.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MeshRevisionProfileInner getMeshRevisionProfile(String location, String mode);
+
+ /**
+ * Lists available upgrades for all service meshes in a specific cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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 holds an array of MeshUpgradeProfiles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Gets a list of OpenShift managed clusters in the specified subscription. The operation returns properties of
+ * each OpenShift managed cluster.
+ *
+ * @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 OpenShift managed clusters in the specified subscription as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Gets a list of OpenShift managed clusters in the specified subscription. The operation returns properties of
+ * each OpenShift managed 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 list of OpenShift managed clusters in the specified subscription as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Lists OpenShift managed clusters in the specified subscription and resource group. The operation returns
+ * properties of each OpenShift managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List OpenShift Managed Clusters operation as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Lists OpenShift managed clusters in the specified subscription and resource group. The operation returns
+ * properties of each OpenShift managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List OpenShift Managed Clusters operation as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Gets the details of the managed OpenShift cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the managed OpenShift cluster with a specified resource group and name along with {@link
+ * Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Gets the details of the managed OpenShift cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the managed OpenShift cluster with a specified resource group and name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner getByResourceGroup(String resourceGroupName, String resourceName);
+
+ /**
+ * Creates or updates an OpenShift managed cluster.
+ *
+ * Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift
+ * version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster 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 openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift
+ * version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift
+ * version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster 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 openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner createOrUpdate(
+ String resourceGroupName, String resourceName, OpenShiftManagedClusterInner parameters);
+
+ /**
+ * Creates or updates an OpenShift managed cluster.
+ *
+ * Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift
+ * version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner createOrUpdate(
+ String resourceGroupName, String resourceName, OpenShiftManagedClusterInner parameters, Context context);
+
+ /**
+ * Updates tags on an OpenShift managed cluster.
+ *
+ * Updates an OpenShift managed cluster with the specified tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags 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 openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller Updates an OpenShift managed cluster with the specified tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller Updates an OpenShift managed cluster with the specified tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags 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 openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner updateTags(String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Updates tags on an OpenShift managed cluster.
+ *
+ * Updates an OpenShift managed cluster with the specified tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner updateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Deletes an OpenShift managed cluster.
+ *
+ * Deletes the OpenShift managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller Deletes the OpenShift managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller Deletes the OpenShift managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName);
+
+ /**
+ * Deletes an OpenShift managed cluster.
+ *
+ * Deletes the OpenShift managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName, Context context);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/OperationsClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/OperationsClient.java
new file mode 100644
index 0000000000000..2c7c2e849fbf1
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.OperationValueInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Gets a 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 operations as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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 a list of private endpoint connections along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private endpoint connections.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionListResultInner list(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets the specified private endpoint connection.
+ *
+ * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @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 private endpoint connection along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @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 private endpoint connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner get(
+ String resourceGroupName, String resourceName, String privateEndpointConnectionName);
+
+ /**
+ * Updates a private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param parameters The updated private endpoint connection.
+ * @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 private endpoint connection along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster 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 a list of private link resources along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourcesListResultInner list(String resourceGroupName, String resourceName);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ResolvePrivateLinkServiceIdsClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ResolvePrivateLinkServiceIdsClient.java
new file mode 100644
index 0000000000000..8ee7c328d315c
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ResolvePrivateLinkServiceIdsClient.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.containerservicemicrosoftcontainerserviceaks.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.PrivateLinkResourceInner;
+
+/** An instance of this class provides access to all the operations defined in ResolvePrivateLinkServiceIdsClient. */
+public interface ResolvePrivateLinkServiceIdsClient {
+ /**
+ * Gets the private link service ID for the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters required in order to resolve a private link service ID.
+ * @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 private link service ID for the specified managed cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc)
+ * pods might fail to run correctly. For more details on restricted VM sizes, see:
+ * https://docs.microsoft.com/azure/aks/quotas-skus-regions.
+ *
+ * @return the vmSize value.
+ */
+ public String vmSize() {
+ return this.innerProperties() == null ? null : this.innerProperties().vmSize();
+ }
+
+ /**
+ * Set the vmSize property: The size of the agent pool VMs.
+ *
+ * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc)
+ * pods might fail to run correctly. For more details on restricted VM sizes, see:
+ * https://docs.microsoft.com/azure/aks/quotas-skus-regions.
+ *
+ * @param vmSize the vmSize value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withVmSize(String vmSize) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withVmSize(vmSize);
+ return this;
+ }
+
+ /**
+ * Get the osDiskSizeGB property: OS Disk Size in GB to be used to specify the disk size for every machine in the
+ * master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @return the osDiskSizeGB value.
+ */
+ public Integer osDiskSizeGB() {
+ return this.innerProperties() == null ? null : this.innerProperties().osDiskSizeGB();
+ }
+
+ /**
+ * Set the osDiskSizeGB property: OS Disk Size in GB to be used to specify the disk size for every machine in the
+ * master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @param osDiskSizeGB the osDiskSizeGB value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsDiskSizeGB(Integer osDiskSizeGB) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withOsDiskSizeGB(osDiskSizeGB);
+ return this;
+ }
+
+ /**
+ * Get the osDiskType property: The OS disk type to be used for machines in the agent pool.
+ *
+ * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB.
+ * Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral
+ * OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).
+ *
+ * @return the osDiskType value.
+ */
+ public OSDiskType osDiskType() {
+ return this.innerProperties() == null ? null : this.innerProperties().osDiskType();
+ }
+
+ /**
+ * Set the osDiskType property: The OS disk type to be used for machines in the agent pool.
+ *
+ * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB.
+ * Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral
+ * OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).
+ *
+ * @param osDiskType the osDiskType value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsDiskType(OSDiskType osDiskType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withOsDiskType(osDiskType);
+ return this;
+ }
+
+ /**
+ * Get the kubeletDiskType property: Determines the placement of emptyDir volumes, container runtime data root, and
+ * Kubelet ephemeral storage.
+ *
+ * @return the kubeletDiskType value.
+ */
+ public KubeletDiskType kubeletDiskType() {
+ return this.innerProperties() == null ? null : this.innerProperties().kubeletDiskType();
+ }
+
+ /**
+ * Set the kubeletDiskType property: Determines the placement of emptyDir volumes, container runtime data root, and
+ * Kubelet ephemeral storage.
+ *
+ * @param kubeletDiskType the kubeletDiskType value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withKubeletDiskType(KubeletDiskType kubeletDiskType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withKubeletDiskType(kubeletDiskType);
+ return this;
+ }
+
+ /**
+ * Get the workloadRuntime property: Determines the type of workload a node can run.
+ *
+ * @return the workloadRuntime value.
+ */
+ public WorkloadRuntime workloadRuntime() {
+ return this.innerProperties() == null ? null : this.innerProperties().workloadRuntime();
+ }
+
+ /**
+ * Set the workloadRuntime property: Determines the type of workload a node can run.
+ *
+ * @param workloadRuntime the workloadRuntime value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withWorkloadRuntime(WorkloadRuntime workloadRuntime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withWorkloadRuntime(workloadRuntime);
+ return this;
+ }
+
+ /**
+ * Get the vnetSubnetId property: The ID of the subnet which agent pool nodes and optionally pods will join on
+ * startup.
+ *
+ * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this
+ * applies to nodes and pods, otherwise it applies to just nodes. This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @return the vnetSubnetId value.
+ */
+ public String vnetSubnetId() {
+ return this.innerProperties() == null ? null : this.innerProperties().vnetSubnetId();
+ }
+
+ /**
+ * Set the vnetSubnetId property: The ID of the subnet which agent pool nodes and optionally pods will join on
+ * startup.
+ *
+ * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this
+ * applies to nodes and pods, otherwise it applies to just nodes. This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @param vnetSubnetId the vnetSubnetId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withVnetSubnetId(String vnetSubnetId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withVnetSubnetId(vnetSubnetId);
+ return this;
+ }
+
+ /**
+ * Get the podSubnetId property: The ID of the subnet which pods will join when launched.
+ *
+ * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of
+ * the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @return the podSubnetId value.
+ */
+ public String podSubnetId() {
+ return this.innerProperties() == null ? null : this.innerProperties().podSubnetId();
+ }
+
+ /**
+ * Set the podSubnetId property: The ID of the subnet which pods will join when launched.
+ *
+ * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of
+ * the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @param podSubnetId the podSubnetId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withPodSubnetId(String podSubnetId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withPodSubnetId(podSubnetId);
+ return this;
+ }
+
+ /**
+ * Get the maxPods property: The maximum number of pods that can run on a node.
+ *
+ * @return the maxPods value.
+ */
+ public Integer maxPods() {
+ return this.innerProperties() == null ? null : this.innerProperties().maxPods();
+ }
+
+ /**
+ * Set the maxPods property: The maximum number of pods that can run on a node.
+ *
+ * @param maxPods the maxPods value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMaxPods(Integer maxPods) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withMaxPods(maxPods);
+ return this;
+ }
+
+ /**
+ * Get the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @return the osType value.
+ */
+ public OSType osType() {
+ return this.innerProperties() == null ? null : this.innerProperties().osType();
+ }
+
+ /**
+ * Set the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @param osType the osType value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsType(OSType osType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withOsType(osType);
+ return this;
+ }
+
+ /**
+ * Get the osSku property: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux.
+ * The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is
+ * Windows.
+ *
+ * @return the osSku value.
+ */
+ public Ossku osSku() {
+ return this.innerProperties() == null ? null : this.innerProperties().osSku();
+ }
+
+ /**
+ * Set the osSku property: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux.
+ * The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is
+ * Windows.
+ *
+ * @param osSku the osSku value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsSku(Ossku osSku) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withOsSku(osSku);
+ return this;
+ }
+
+ /**
+ * Get the maxCount property: The maximum number of nodes for auto-scaling.
+ *
+ * @return the maxCount value.
+ */
+ public Integer maxCount() {
+ return this.innerProperties() == null ? null : this.innerProperties().maxCount();
+ }
+
+ /**
+ * Set the maxCount property: The maximum number of nodes for auto-scaling.
+ *
+ * @param maxCount the maxCount value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMaxCount(Integer maxCount) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withMaxCount(maxCount);
+ return this;
+ }
+
+ /**
+ * Get the minCount property: The minimum number of nodes for auto-scaling.
+ *
+ * @return the minCount value.
+ */
+ public Integer minCount() {
+ return this.innerProperties() == null ? null : this.innerProperties().minCount();
+ }
+
+ /**
+ * Set the minCount property: The minimum number of nodes for auto-scaling.
+ *
+ * @param minCount the minCount value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMinCount(Integer minCount) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withMinCount(minCount);
+ return this;
+ }
+
+ /**
+ * Get the enableAutoScaling property: Whether to enable auto-scaler.
+ *
+ * @return the enableAutoScaling value.
+ */
+ public Boolean enableAutoScaling() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableAutoScaling();
+ }
+
+ /**
+ * Set the enableAutoScaling property: Whether to enable auto-scaler.
+ *
+ * @param enableAutoScaling the enableAutoScaling value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableAutoScaling(Boolean enableAutoScaling) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withEnableAutoScaling(enableAutoScaling);
+ return this;
+ }
+
+ /**
+ * Get the scaleDownMode property: This also effects the cluster autoscaler behavior. If not specified, it defaults
+ * to Delete.
+ *
+ * @return the scaleDownMode value.
+ */
+ public ScaleDownMode scaleDownMode() {
+ return this.innerProperties() == null ? null : this.innerProperties().scaleDownMode();
+ }
+
+ /**
+ * Set the scaleDownMode property: This also effects the cluster autoscaler behavior. If not specified, it defaults
+ * to Delete.
+ *
+ * @param scaleDownMode the scaleDownMode value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withScaleDownMode(ScaleDownMode scaleDownMode) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withScaleDownMode(scaleDownMode);
+ return this;
+ }
+
+ /**
+ * Get the type property: The type of Agent Pool.
+ *
+ * @return the type value.
+ */
+ public AgentPoolType typePropertiesType() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Set the type property: The type of Agent Pool.
+ *
+ * @param type the type value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withTypePropertiesType(AgentPoolType type) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the mode property: The mode of an agent pool.
+ *
+ * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool
+ * restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools.
+ *
+ * @return the mode value.
+ */
+ public AgentPoolMode mode() {
+ return this.innerProperties() == null ? null : this.innerProperties().mode();
+ }
+
+ /**
+ * Set the mode property: The mode of an agent pool.
+ *
+ * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool
+ * restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools.
+ *
+ * @param mode the mode value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMode(AgentPoolMode mode) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withMode(mode);
+ return this;
+ }
+
+ /**
+ * Get the orchestratorVersion property: The version of Kubernetes specified by the user.
+ *
+ * Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported.
+ * When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating
+ * the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger
+ * an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in
+ * an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the
+ * control plane. The node pool minor version must be within two minor versions of the control plane version. The
+ * node pool version cannot be greater than the control plane version. For more information see [upgrading a node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
+ *
+ * @return the orchestratorVersion value.
+ */
+ public String orchestratorVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().orchestratorVersion();
+ }
+
+ /**
+ * Set the orchestratorVersion property: The version of Kubernetes specified by the user.
+ *
+ * Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported.
+ * When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating
+ * the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger
+ * an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in
+ * an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the
+ * control plane. The node pool minor version must be within two minor versions of the control plane version. The
+ * node pool version cannot be greater than the control plane version. For more information see [upgrading a node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
+ *
+ * @param orchestratorVersion the orchestratorVersion value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOrchestratorVersion(String orchestratorVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withOrchestratorVersion(orchestratorVersion);
+ return this;
+ }
+
+ /**
+ * Get the currentOrchestratorVersion property: The version of Kubernetes the Agent Pool is running.
+ *
+ * If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly
+ * equal to it. If orchestratorVersion is <major.minor>, this field will contain the full
+ * <major.minor.patch> version being used.
+ *
+ * @return the currentOrchestratorVersion value.
+ */
+ public String currentOrchestratorVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().currentOrchestratorVersion();
+ }
+
+ /**
+ * Get the nodeImageVersion property: The version of node image.
+ *
+ * @return the nodeImageVersion value.
+ */
+ public String nodeImageVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().nodeImageVersion();
+ }
+
+ /**
+ * Get the upgradeSettings property: Settings for upgrading the agentpool.
+ *
+ * @return the upgradeSettings value.
+ */
+ public AgentPoolUpgradeSettings upgradeSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().upgradeSettings();
+ }
+
+ /**
+ * Set the upgradeSettings property: Settings for upgrading the agentpool.
+ *
+ * @param upgradeSettings the upgradeSettings value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withUpgradeSettings(AgentPoolUpgradeSettings upgradeSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withUpgradeSettings(upgradeSettings);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The current deployment or provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the powerState property: When an Agent Pool is first created it is initially Running. The Agent Pool can be
+ * stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing
+ * charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded.
+ *
+ * @return the powerState value.
+ */
+ public PowerState powerState() {
+ return this.innerProperties() == null ? null : this.innerProperties().powerState();
+ }
+
+ /**
+ * Set the powerState property: When an Agent Pool is first created it is initially Running. The Agent Pool can be
+ * stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing
+ * charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded.
+ *
+ * @param powerState the powerState value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withPowerState(PowerState powerState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withPowerState(powerState);
+ return this;
+ }
+
+ /**
+ * Get the availabilityZones property: The list of Availability zones to use for nodes. This can only be specified
+ * if the AgentPoolType property is 'VirtualMachineScaleSets'.
+ *
+ * @return the availabilityZones value.
+ */
+ public List Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common
+ * scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to
+ * minimize hops. For more information see [assigning a public IP per
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
+ * The default is false.
+ *
+ * @return the enableNodePublicIp value.
+ */
+ public Boolean enableNodePublicIp() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableNodePublicIp();
+ }
+
+ /**
+ * Set the enableNodePublicIp property: Whether each node is allocated its own public IP.
+ *
+ * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common
+ * scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to
+ * minimize hops. For more information see [assigning a public IP per
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
+ * The default is false.
+ *
+ * @param enableNodePublicIp the enableNodePublicIp value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableNodePublicIp(Boolean enableNodePublicIp) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withEnableNodePublicIp(enableNodePublicIp);
+ return this;
+ }
+
+ /**
+ * Get the nodePublicIpPrefixId property: The public IP prefix ID which VM nodes should use IPs from.
+ *
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}.
+ *
+ * @return the nodePublicIpPrefixId value.
+ */
+ public String nodePublicIpPrefixId() {
+ return this.innerProperties() == null ? null : this.innerProperties().nodePublicIpPrefixId();
+ }
+
+ /**
+ * Set the nodePublicIpPrefixId property: The public IP prefix ID which VM nodes should use IPs from.
+ *
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}.
+ *
+ * @param nodePublicIpPrefixId the nodePublicIpPrefixId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodePublicIpPrefixId(String nodePublicIpPrefixId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withNodePublicIpPrefixId(nodePublicIpPrefixId);
+ return this;
+ }
+
+ /**
+ * Get the scaleSetPriority property: The Virtual Machine Scale Set priority. If not specified, the default is
+ * 'Regular'.
+ *
+ * @return the scaleSetPriority value.
+ */
+ public ScaleSetPriority scaleSetPriority() {
+ return this.innerProperties() == null ? null : this.innerProperties().scaleSetPriority();
+ }
+
+ /**
+ * Set the scaleSetPriority property: The Virtual Machine Scale Set priority. If not specified, the default is
+ * 'Regular'.
+ *
+ * @param scaleSetPriority the scaleSetPriority value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withScaleSetPriority(ScaleSetPriority scaleSetPriority) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withScaleSetPriority(scaleSetPriority);
+ return this;
+ }
+
+ /**
+ * Get the scaleSetEvictionPolicy property: The Virtual Machine Scale Set eviction policy.
+ *
+ * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
+ *
+ * @return the scaleSetEvictionPolicy value.
+ */
+ public ScaleSetEvictionPolicy scaleSetEvictionPolicy() {
+ return this.innerProperties() == null ? null : this.innerProperties().scaleSetEvictionPolicy();
+ }
+
+ /**
+ * Set the scaleSetEvictionPolicy property: The Virtual Machine Scale Set eviction policy.
+ *
+ * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
+ *
+ * @param scaleSetEvictionPolicy the scaleSetEvictionPolicy value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withScaleSetEvictionPolicy(ScaleSetEvictionPolicy scaleSetEvictionPolicy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withScaleSetEvictionPolicy(scaleSetEvictionPolicy);
+ return this;
+ }
+
+ /**
+ * Get the spotMaxPrice property: The max price (in US Dollars) you are willing to pay for spot instances. Possible
+ * values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.
+ *
+ * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any
+ * on-demand price. For more details on spot pricing, see [spot VMs
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing).
+ *
+ * @return the spotMaxPrice value.
+ */
+ public Float spotMaxPrice() {
+ return this.innerProperties() == null ? null : this.innerProperties().spotMaxPrice();
+ }
+
+ /**
+ * Set the spotMaxPrice property: The max price (in US Dollars) you are willing to pay for spot instances. Possible
+ * values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.
+ *
+ * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any
+ * on-demand price. For more details on spot pricing, see [spot VMs
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing).
+ *
+ * @param spotMaxPrice the spotMaxPrice value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withSpotMaxPrice(Float spotMaxPrice) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withSpotMaxPrice(spotMaxPrice);
+ return this;
+ }
+
+ /**
+ * Get the tags property: The tags to be persisted on the agent pool virtual machine scale set.
+ *
+ * @return the tags value.
+ */
+ public Map The Kubelet configuration on the agent pool nodes.
+ *
+ * @return the kubeletConfig value.
+ */
+ public KubeletConfig kubeletConfig() {
+ return this.innerProperties() == null ? null : this.innerProperties().kubeletConfig();
+ }
+
+ /**
+ * Set the kubeletConfig property: Kubelet configurations of agent nodes.
+ *
+ * The Kubelet configuration on the agent pool nodes.
+ *
+ * @param kubeletConfig the kubeletConfig value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withKubeletConfig(KubeletConfig kubeletConfig) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withKubeletConfig(kubeletConfig);
+ return this;
+ }
+
+ /**
+ * Get the linuxOSConfig property: OS configurations of Linux agent nodes.
+ *
+ * The OS configuration of Linux agent nodes.
+ *
+ * @return the linuxOSConfig value.
+ */
+ public LinuxOSConfig linuxOSConfig() {
+ return this.innerProperties() == null ? null : this.innerProperties().linuxOSConfig();
+ }
+
+ /**
+ * Set the linuxOSConfig property: OS configurations of Linux agent nodes.
+ *
+ * The OS configuration of Linux agent nodes.
+ *
+ * @param linuxOSConfig the linuxOSConfig value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withLinuxOSConfig(LinuxOSConfig linuxOSConfig) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withLinuxOSConfig(linuxOSConfig);
+ return this;
+ }
+
+ /**
+ * Get the enableEncryptionAtHost property: Whether to enable host based OS and data drive encryption.
+ *
+ * This is only supported on certain VM sizes and in certain Azure regions. For more information, see:
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption.
+ *
+ * @return the enableEncryptionAtHost value.
+ */
+ public Boolean enableEncryptionAtHost() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableEncryptionAtHost();
+ }
+
+ /**
+ * Set the enableEncryptionAtHost property: Whether to enable host based OS and data drive encryption.
+ *
+ * This is only supported on certain VM sizes and in certain Azure regions. For more information, see:
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption.
+ *
+ * @param enableEncryptionAtHost the enableEncryptionAtHost value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableEncryptionAtHost(Boolean enableEncryptionAtHost) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withEnableEncryptionAtHost(enableEncryptionAtHost);
+ return this;
+ }
+
+ /**
+ * Get the enableUltraSsd property: Whether to enable UltraSSD.
+ *
+ * @return the enableUltraSsd value.
+ */
+ public Boolean enableUltraSsd() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableUltraSsd();
+ }
+
+ /**
+ * Set the enableUltraSsd property: Whether to enable UltraSSD.
+ *
+ * @param enableUltraSsd the enableUltraSsd value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableUltraSsd(Boolean enableUltraSsd) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withEnableUltraSsd(enableUltraSsd);
+ return this;
+ }
+
+ /**
+ * Get the enableFips property: Whether to use a FIPS-enabled OS.
+ *
+ * See [Add a FIPS-enabled node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more
+ * details.
+ *
+ * @return the enableFips value.
+ */
+ public Boolean enableFips() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableFips();
+ }
+
+ /**
+ * Set the enableFips property: Whether to use a FIPS-enabled OS.
+ *
+ * See [Add a FIPS-enabled node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more
+ * details.
+ *
+ * @param enableFips the enableFips value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableFips(Boolean enableFips) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withEnableFips(enableFips);
+ return this;
+ }
+
+ /**
+ * Get the gpuInstanceProfile property: GPUInstanceProfile to be used to specify GPU MIG instance profile for
+ * supported GPU VM SKU.
+ *
+ * @return the gpuInstanceProfile value.
+ */
+ public GpuInstanceProfile gpuInstanceProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().gpuInstanceProfile();
+ }
+
+ /**
+ * Set the gpuInstanceProfile property: GPUInstanceProfile to be used to specify GPU MIG instance profile for
+ * supported GPU VM SKU.
+ *
+ * @param gpuInstanceProfile the gpuInstanceProfile value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withGpuInstanceProfile(GpuInstanceProfile gpuInstanceProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withGpuInstanceProfile(gpuInstanceProfile);
+ return this;
+ }
+
+ /**
+ * Get the creationData property: CreationData to be used to specify the source Snapshot ID if the node pool will be
+ * created/upgraded using a snapshot.
+ *
+ * @return the creationData value.
+ */
+ public CreationData creationData() {
+ return this.innerProperties() == null ? null : this.innerProperties().creationData();
+ }
+
+ /**
+ * Set the creationData property: CreationData to be used to specify the source Snapshot ID if the node pool will be
+ * created/upgraded using a snapshot.
+ *
+ * @param creationData the creationData value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withCreationData(CreationData creationData) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withCreationData(creationData);
+ return this;
+ }
+
+ /**
+ * Get the hostGroupId property: The fully qualified resource ID of the Dedicated Host Group to provision virtual
+ * machines from, used only in creation scenario and not allowed to changed once set.
+ *
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}.
+ * For more information see [Azure dedicated
+ * hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts).
+ *
+ * @return the hostGroupId value.
+ */
+ public String hostGroupId() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostGroupId();
+ }
+
+ /**
+ * Set the hostGroupId property: The fully qualified resource ID of the Dedicated Host Group to provision virtual
+ * machines from, used only in creation scenario and not allowed to changed once set.
+ *
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}.
+ * For more information see [Azure dedicated
+ * hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts).
+ *
+ * @param hostGroupId the hostGroupId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withHostGroupId(String hostGroupId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withHostGroupId(hostGroupId);
+ 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/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolUpgradeProfileInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolUpgradeProfileInner.java
new file mode 100644
index 0000000000000..98ed37d396583
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolUpgradeProfileInner.java
@@ -0,0 +1,190 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolUpgradeProfilePropertiesUpgradesItem;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.OSType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list of available upgrades for an agent pool. */
+@Fluent
+public final class AgentPoolUpgradeProfileInner {
+ /*
+ * The ID of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The name of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The type of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * The properties of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private AgentPoolUpgradeProfileProperties innerProperties = new AgentPoolUpgradeProfileProperties();
+
+ /** Creates an instance of AgentPoolUpgradeProfileInner class. */
+ public AgentPoolUpgradeProfileInner() {
+ }
+
+ /**
+ * Get the id property: The ID of the agent pool upgrade profile.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The name of the agent pool upgrade profile.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The type of the agent pool upgrade profile.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the agent pool upgrade profile.
+ *
+ * @return the innerProperties value.
+ */
+ private AgentPoolUpgradeProfileProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the kubernetesVersion property: The Kubernetes version (major.minor.patch).
+ *
+ * @return the kubernetesVersion value.
+ */
+ public String kubernetesVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().kubernetesVersion();
+ }
+
+ /**
+ * Set the kubernetesVersion property: The Kubernetes version (major.minor.patch).
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set.
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withKubernetesVersion(String kubernetesVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolUpgradeProfileProperties();
+ }
+ this.innerProperties().withKubernetesVersion(kubernetesVersion);
+ return this;
+ }
+
+ /**
+ * Get the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @return the osType value.
+ */
+ public OSType osType() {
+ return this.innerProperties() == null ? null : this.innerProperties().osType();
+ }
+
+ /**
+ * Set the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @param osType the osType value to set.
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withOsType(OSType osType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolUpgradeProfileProperties();
+ }
+ this.innerProperties().withOsType(osType);
+ return this;
+ }
+
+ /**
+ * Get the upgrades property: List of orchestrator types and versions available for upgrade.
+ *
+ * @return the upgrades value.
+ */
+ public List See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about
+ * planned maintenance.
+ */
+@Fluent
+public final class MaintenanceConfigurationInner extends SubResource {
+ /*
+ * The system metadata relating to this resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * Properties of a default maintenance configuration.
+ */
+ @JsonProperty(value = "properties")
+ private MaintenanceConfigurationProperties innerProperties;
+
+ /*
+ * The name of the resource that is unique within a resource group. This name can be used to access the resource.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Resource type
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /** Creates an instance of MaintenanceConfigurationInner class. */
+ public MaintenanceConfigurationInner() {
+ }
+
+ /**
+ * Get the systemData property: The system metadata relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the innerProperties property: Properties of a default maintenance configuration.
+ *
+ * @return the innerProperties value.
+ */
+ private MaintenanceConfigurationProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the name property: The name of the resource that is unique within a resource group. This name can be used to
+ * access the resource.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: Resource type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MaintenanceConfigurationInner withId(String id) {
+ super.withId(id);
+ return this;
+ }
+
+ /**
+ * Get the timeInWeek property: Time slots during the week when planned maintenance is allowed to proceed.
+ *
+ * If two array entries specify the same day of the week, the applied configuration is the union of times in both
+ * entries.
+ *
+ * @return the timeInWeek value.
+ */
+ public List If two array entries specify the same day of the week, the applied configuration is the union of times in both
+ * entries.
+ *
+ * @param timeInWeek the timeInWeek value to set.
+ * @return the MaintenanceConfigurationInner object itself.
+ */
+ public MaintenanceConfigurationInner withTimeInWeek(List If two array entries specify the same day of the week, the applied configuration is the union of times in both
+ * entries.
+ *
+ * @return the timeInWeek value.
+ */
+ public List If two array entries specify the same day of the week, the applied configuration is the union of times in both
+ * entries.
+ *
+ * @param timeInWeek the timeInWeek value to set.
+ * @return the MaintenanceConfigurationProperties object itself.
+ */
+ public MaintenanceConfigurationProperties withTimeInWeek(List VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc)
+ * pods might fail to run correctly. For more details on restricted VM sizes, see:
+ * https://docs.microsoft.com/azure/aks/quotas-skus-regions.
+ *
+ * @return the vmSize value.
+ */
+ public String vmSize() {
+ return this.vmSize;
+ }
+
+ /**
+ * Set the vmSize property: The size of the agent pool VMs.
+ *
+ * VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc)
+ * pods might fail to run correctly. For more details on restricted VM sizes, see:
+ * https://docs.microsoft.com/azure/aks/quotas-skus-regions.
+ *
+ * @param vmSize the vmSize value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withVmSize(String vmSize) {
+ this.vmSize = vmSize;
+ return this;
+ }
+
+ /**
+ * Get the osDiskSizeGB property: OS Disk Size in GB to be used to specify the disk size for every machine in the
+ * master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @return the osDiskSizeGB value.
+ */
+ public Integer osDiskSizeGB() {
+ return this.osDiskSizeGB;
+ }
+
+ /**
+ * Set the osDiskSizeGB property: OS Disk Size in GB to be used to specify the disk size for every machine in the
+ * master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @param osDiskSizeGB the osDiskSizeGB value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withOsDiskSizeGB(Integer osDiskSizeGB) {
+ this.osDiskSizeGB = osDiskSizeGB;
+ return this;
+ }
+
+ /**
+ * Get the osDiskType property: The OS disk type to be used for machines in the agent pool.
+ *
+ * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB.
+ * Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral
+ * OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).
+ *
+ * @return the osDiskType value.
+ */
+ public OSDiskType osDiskType() {
+ return this.osDiskType;
+ }
+
+ /**
+ * Set the osDiskType property: The OS disk type to be used for machines in the agent pool.
+ *
+ * The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB.
+ * Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral
+ * OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).
+ *
+ * @param osDiskType the osDiskType value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withOsDiskType(OSDiskType osDiskType) {
+ this.osDiskType = osDiskType;
+ return this;
+ }
+
+ /**
+ * Get the kubeletDiskType property: Determines the placement of emptyDir volumes, container runtime data root, and
+ * Kubelet ephemeral storage.
+ *
+ * @return the kubeletDiskType value.
+ */
+ public KubeletDiskType kubeletDiskType() {
+ return this.kubeletDiskType;
+ }
+
+ /**
+ * Set the kubeletDiskType property: Determines the placement of emptyDir volumes, container runtime data root, and
+ * Kubelet ephemeral storage.
+ *
+ * @param kubeletDiskType the kubeletDiskType value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withKubeletDiskType(KubeletDiskType kubeletDiskType) {
+ this.kubeletDiskType = kubeletDiskType;
+ return this;
+ }
+
+ /**
+ * Get the workloadRuntime property: Determines the type of workload a node can run.
+ *
+ * @return the workloadRuntime value.
+ */
+ public WorkloadRuntime workloadRuntime() {
+ return this.workloadRuntime;
+ }
+
+ /**
+ * Set the workloadRuntime property: Determines the type of workload a node can run.
+ *
+ * @param workloadRuntime the workloadRuntime value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withWorkloadRuntime(WorkloadRuntime workloadRuntime) {
+ this.workloadRuntime = workloadRuntime;
+ return this;
+ }
+
+ /**
+ * Get the vnetSubnetId property: The ID of the subnet which agent pool nodes and optionally pods will join on
+ * startup.
+ *
+ * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this
+ * applies to nodes and pods, otherwise it applies to just nodes. This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @return the vnetSubnetId value.
+ */
+ public String vnetSubnetId() {
+ return this.vnetSubnetId;
+ }
+
+ /**
+ * Set the vnetSubnetId property: The ID of the subnet which agent pool nodes and optionally pods will join on
+ * startup.
+ *
+ * If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this
+ * applies to nodes and pods, otherwise it applies to just nodes. This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @param vnetSubnetId the vnetSubnetId value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withVnetSubnetId(String vnetSubnetId) {
+ this.vnetSubnetId = vnetSubnetId;
+ return this;
+ }
+
+ /**
+ * Get the podSubnetId property: The ID of the subnet which pods will join when launched.
+ *
+ * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of
+ * the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @return the podSubnetId value.
+ */
+ public String podSubnetId() {
+ return this.podSubnetId;
+ }
+
+ /**
+ * Set the podSubnetId property: The ID of the subnet which pods will join when launched.
+ *
+ * If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of
+ * the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @param podSubnetId the podSubnetId value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withPodSubnetId(String podSubnetId) {
+ this.podSubnetId = podSubnetId;
+ return this;
+ }
+
+ /**
+ * Get the maxPods property: The maximum number of pods that can run on a node.
+ *
+ * @return the maxPods value.
+ */
+ public Integer maxPods() {
+ return this.maxPods;
+ }
+
+ /**
+ * Set the maxPods property: The maximum number of pods that can run on a node.
+ *
+ * @param maxPods the maxPods value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withMaxPods(Integer maxPods) {
+ this.maxPods = maxPods;
+ return this;
+ }
+
+ /**
+ * Get the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @return the osType value.
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @param osType the osType value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the osSku property: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux.
+ * The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is
+ * Windows.
+ *
+ * @return the osSku value.
+ */
+ public Ossku osSku() {
+ return this.osSku;
+ }
+
+ /**
+ * Set the osSku property: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux.
+ * The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is
+ * Windows.
+ *
+ * @param osSku the osSku value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withOsSku(Ossku osSku) {
+ this.osSku = osSku;
+ return this;
+ }
+
+ /**
+ * Get the maxCount property: The maximum number of nodes for auto-scaling.
+ *
+ * @return the maxCount value.
+ */
+ public Integer maxCount() {
+ return this.maxCount;
+ }
+
+ /**
+ * Set the maxCount property: The maximum number of nodes for auto-scaling.
+ *
+ * @param maxCount the maxCount value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withMaxCount(Integer maxCount) {
+ this.maxCount = maxCount;
+ return this;
+ }
+
+ /**
+ * Get the minCount property: The minimum number of nodes for auto-scaling.
+ *
+ * @return the minCount value.
+ */
+ public Integer minCount() {
+ return this.minCount;
+ }
+
+ /**
+ * Set the minCount property: The minimum number of nodes for auto-scaling.
+ *
+ * @param minCount the minCount value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withMinCount(Integer minCount) {
+ this.minCount = minCount;
+ return this;
+ }
+
+ /**
+ * Get the enableAutoScaling property: Whether to enable auto-scaler.
+ *
+ * @return the enableAutoScaling value.
+ */
+ public Boolean enableAutoScaling() {
+ return this.enableAutoScaling;
+ }
+
+ /**
+ * Set the enableAutoScaling property: Whether to enable auto-scaler.
+ *
+ * @param enableAutoScaling the enableAutoScaling value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableAutoScaling(Boolean enableAutoScaling) {
+ this.enableAutoScaling = enableAutoScaling;
+ return this;
+ }
+
+ /**
+ * Get the scaleDownMode property: This also effects the cluster autoscaler behavior. If not specified, it defaults
+ * to Delete.
+ *
+ * @return the scaleDownMode value.
+ */
+ public ScaleDownMode scaleDownMode() {
+ return this.scaleDownMode;
+ }
+
+ /**
+ * Set the scaleDownMode property: This also effects the cluster autoscaler behavior. If not specified, it defaults
+ * to Delete.
+ *
+ * @param scaleDownMode the scaleDownMode value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withScaleDownMode(ScaleDownMode scaleDownMode) {
+ this.scaleDownMode = scaleDownMode;
+ return this;
+ }
+
+ /**
+ * Get the type property: The type of Agent Pool.
+ *
+ * @return the type value.
+ */
+ public AgentPoolType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: The type of Agent Pool.
+ *
+ * @param type the type value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withType(AgentPoolType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the mode property: The mode of an agent pool.
+ *
+ * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool
+ * restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools.
+ *
+ * @return the mode value.
+ */
+ public AgentPoolMode mode() {
+ return this.mode;
+ }
+
+ /**
+ * Set the mode property: The mode of an agent pool.
+ *
+ * A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool
+ * restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools.
+ *
+ * @param mode the mode value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withMode(AgentPoolMode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+ /**
+ * Get the orchestratorVersion property: The version of Kubernetes specified by the user.
+ *
+ * Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported.
+ * When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating
+ * the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger
+ * an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in
+ * an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the
+ * control plane. The node pool minor version must be within two minor versions of the control plane version. The
+ * node pool version cannot be greater than the control plane version. For more information see [upgrading a node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
+ *
+ * @return the orchestratorVersion value.
+ */
+ public String orchestratorVersion() {
+ return this.orchestratorVersion;
+ }
+
+ /**
+ * Set the orchestratorVersion property: The version of Kubernetes specified by the user.
+ *
+ * Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported.
+ * When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating
+ * the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger
+ * an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in
+ * an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the
+ * control plane. The node pool minor version must be within two minor versions of the control plane version. The
+ * node pool version cannot be greater than the control plane version. For more information see [upgrading a node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
+ *
+ * @param orchestratorVersion the orchestratorVersion value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withOrchestratorVersion(String orchestratorVersion) {
+ this.orchestratorVersion = orchestratorVersion;
+ return this;
+ }
+
+ /**
+ * Get the currentOrchestratorVersion property: The version of Kubernetes the Agent Pool is running.
+ *
+ * If orchestratorVersion is a fully specified version <major.minor.patch>, this field will be exactly
+ * equal to it. If orchestratorVersion is <major.minor>, this field will contain the full
+ * <major.minor.patch> version being used.
+ *
+ * @return the currentOrchestratorVersion value.
+ */
+ public String currentOrchestratorVersion() {
+ return this.currentOrchestratorVersion;
+ }
+
+ /**
+ * Get the nodeImageVersion property: The version of node image.
+ *
+ * @return the nodeImageVersion value.
+ */
+ public String nodeImageVersion() {
+ return this.nodeImageVersion;
+ }
+
+ /**
+ * Get the upgradeSettings property: Settings for upgrading the agentpool.
+ *
+ * @return the upgradeSettings value.
+ */
+ public AgentPoolUpgradeSettings upgradeSettings() {
+ return this.upgradeSettings;
+ }
+
+ /**
+ * Set the upgradeSettings property: Settings for upgrading the agentpool.
+ *
+ * @param upgradeSettings the upgradeSettings value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withUpgradeSettings(AgentPoolUpgradeSettings upgradeSettings) {
+ this.upgradeSettings = upgradeSettings;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The current deployment or provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the powerState property: When an Agent Pool is first created it is initially Running. The Agent Pool can be
+ * stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing
+ * charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded.
+ *
+ * @return the powerState value.
+ */
+ public PowerState powerState() {
+ return this.powerState;
+ }
+
+ /**
+ * Set the powerState property: When an Agent Pool is first created it is initially Running. The Agent Pool can be
+ * stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing
+ * charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded.
+ *
+ * @param powerState the powerState value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withPowerState(PowerState powerState) {
+ this.powerState = powerState;
+ return this;
+ }
+
+ /**
+ * Get the availabilityZones property: The list of Availability zones to use for nodes. This can only be specified
+ * if the AgentPoolType property is 'VirtualMachineScaleSets'.
+ *
+ * @return the availabilityZones value.
+ */
+ public List Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common
+ * scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to
+ * minimize hops. For more information see [assigning a public IP per
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
+ * The default is false.
+ *
+ * @return the enableNodePublicIp value.
+ */
+ public Boolean enableNodePublicIp() {
+ return this.enableNodePublicIp;
+ }
+
+ /**
+ * Set the enableNodePublicIp property: Whether each node is allocated its own public IP.
+ *
+ * Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common
+ * scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to
+ * minimize hops. For more information see [assigning a public IP per
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
+ * The default is false.
+ *
+ * @param enableNodePublicIp the enableNodePublicIp value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableNodePublicIp(Boolean enableNodePublicIp) {
+ this.enableNodePublicIp = enableNodePublicIp;
+ return this;
+ }
+
+ /**
+ * Get the nodePublicIpPrefixId property: The public IP prefix ID which VM nodes should use IPs from.
+ *
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}.
+ *
+ * @return the nodePublicIpPrefixId value.
+ */
+ public String nodePublicIpPrefixId() {
+ return this.nodePublicIpPrefixId;
+ }
+
+ /**
+ * Set the nodePublicIpPrefixId property: The public IP prefix ID which VM nodes should use IPs from.
+ *
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}.
+ *
+ * @param nodePublicIpPrefixId the nodePublicIpPrefixId value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withNodePublicIpPrefixId(String nodePublicIpPrefixId) {
+ this.nodePublicIpPrefixId = nodePublicIpPrefixId;
+ return this;
+ }
+
+ /**
+ * Get the scaleSetPriority property: The Virtual Machine Scale Set priority. If not specified, the default is
+ * 'Regular'.
+ *
+ * @return the scaleSetPriority value.
+ */
+ public ScaleSetPriority scaleSetPriority() {
+ return this.scaleSetPriority;
+ }
+
+ /**
+ * Set the scaleSetPriority property: The Virtual Machine Scale Set priority. If not specified, the default is
+ * 'Regular'.
+ *
+ * @param scaleSetPriority the scaleSetPriority value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withScaleSetPriority(ScaleSetPriority scaleSetPriority) {
+ this.scaleSetPriority = scaleSetPriority;
+ return this;
+ }
+
+ /**
+ * Get the scaleSetEvictionPolicy property: The Virtual Machine Scale Set eviction policy.
+ *
+ * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
+ *
+ * @return the scaleSetEvictionPolicy value.
+ */
+ public ScaleSetEvictionPolicy scaleSetEvictionPolicy() {
+ return this.scaleSetEvictionPolicy;
+ }
+
+ /**
+ * Set the scaleSetEvictionPolicy property: The Virtual Machine Scale Set eviction policy.
+ *
+ * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
+ *
+ * @param scaleSetEvictionPolicy the scaleSetEvictionPolicy value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withScaleSetEvictionPolicy(
+ ScaleSetEvictionPolicy scaleSetEvictionPolicy) {
+ this.scaleSetEvictionPolicy = scaleSetEvictionPolicy;
+ return this;
+ }
+
+ /**
+ * Get the spotMaxPrice property: The max price (in US Dollars) you are willing to pay for spot instances. Possible
+ * values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.
+ *
+ * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any
+ * on-demand price. For more details on spot pricing, see [spot VMs
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing).
+ *
+ * @return the spotMaxPrice value.
+ */
+ public Float spotMaxPrice() {
+ return this.spotMaxPrice;
+ }
+
+ /**
+ * Set the spotMaxPrice property: The max price (in US Dollars) you are willing to pay for spot instances. Possible
+ * values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.
+ *
+ * Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any
+ * on-demand price. For more details on spot pricing, see [spot VMs
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing).
+ *
+ * @param spotMaxPrice the spotMaxPrice value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withSpotMaxPrice(Float spotMaxPrice) {
+ this.spotMaxPrice = spotMaxPrice;
+ return this;
+ }
+
+ /**
+ * Get the tags property: The tags to be persisted on the agent pool virtual machine scale set.
+ *
+ * @return the tags value.
+ */
+ public Map The Kubelet configuration on the agent pool nodes.
+ *
+ * @return the kubeletConfig value.
+ */
+ public KubeletConfig kubeletConfig() {
+ return this.kubeletConfig;
+ }
+
+ /**
+ * Set the kubeletConfig property: Kubelet configurations of agent nodes.
+ *
+ * The Kubelet configuration on the agent pool nodes.
+ *
+ * @param kubeletConfig the kubeletConfig value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withKubeletConfig(KubeletConfig kubeletConfig) {
+ this.kubeletConfig = kubeletConfig;
+ return this;
+ }
+
+ /**
+ * Get the linuxOSConfig property: OS configurations of Linux agent nodes.
+ *
+ * The OS configuration of Linux agent nodes.
+ *
+ * @return the linuxOSConfig value.
+ */
+ public LinuxOSConfig linuxOSConfig() {
+ return this.linuxOSConfig;
+ }
+
+ /**
+ * Set the linuxOSConfig property: OS configurations of Linux agent nodes.
+ *
+ * The OS configuration of Linux agent nodes.
+ *
+ * @param linuxOSConfig the linuxOSConfig value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withLinuxOSConfig(LinuxOSConfig linuxOSConfig) {
+ this.linuxOSConfig = linuxOSConfig;
+ return this;
+ }
+
+ /**
+ * Get the enableEncryptionAtHost property: Whether to enable host based OS and data drive encryption.
+ *
+ * This is only supported on certain VM sizes and in certain Azure regions. For more information, see:
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption.
+ *
+ * @return the enableEncryptionAtHost value.
+ */
+ public Boolean enableEncryptionAtHost() {
+ return this.enableEncryptionAtHost;
+ }
+
+ /**
+ * Set the enableEncryptionAtHost property: Whether to enable host based OS and data drive encryption.
+ *
+ * This is only supported on certain VM sizes and in certain Azure regions. For more information, see:
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption.
+ *
+ * @param enableEncryptionAtHost the enableEncryptionAtHost value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableEncryptionAtHost(Boolean enableEncryptionAtHost) {
+ this.enableEncryptionAtHost = enableEncryptionAtHost;
+ return this;
+ }
+
+ /**
+ * Get the enableUltraSsd property: Whether to enable UltraSSD.
+ *
+ * @return the enableUltraSsd value.
+ */
+ public Boolean enableUltraSsd() {
+ return this.enableUltraSsd;
+ }
+
+ /**
+ * Set the enableUltraSsd property: Whether to enable UltraSSD.
+ *
+ * @param enableUltraSsd the enableUltraSsd value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableUltraSsd(Boolean enableUltraSsd) {
+ this.enableUltraSsd = enableUltraSsd;
+ return this;
+ }
+
+ /**
+ * Get the enableFips property: Whether to use a FIPS-enabled OS.
+ *
+ * See [Add a FIPS-enabled node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more
+ * details.
+ *
+ * @return the enableFips value.
+ */
+ public Boolean enableFips() {
+ return this.enableFips;
+ }
+
+ /**
+ * Set the enableFips property: Whether to use a FIPS-enabled OS.
+ *
+ * See [Add a FIPS-enabled node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more
+ * details.
+ *
+ * @param enableFips the enableFips value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableFips(Boolean enableFips) {
+ this.enableFips = enableFips;
+ return this;
+ }
+
+ /**
+ * Get the gpuInstanceProfile property: GPUInstanceProfile to be used to specify GPU MIG instance profile for
+ * supported GPU VM SKU.
+ *
+ * @return the gpuInstanceProfile value.
+ */
+ public GpuInstanceProfile gpuInstanceProfile() {
+ return this.gpuInstanceProfile;
+ }
+
+ /**
+ * Set the gpuInstanceProfile property: GPUInstanceProfile to be used to specify GPU MIG instance profile for
+ * supported GPU VM SKU.
+ *
+ * @param gpuInstanceProfile the gpuInstanceProfile value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withGpuInstanceProfile(GpuInstanceProfile gpuInstanceProfile) {
+ this.gpuInstanceProfile = gpuInstanceProfile;
+ return this;
+ }
+
+ /**
+ * Get the creationData property: CreationData to be used to specify the source Snapshot ID if the node pool will be
+ * created/upgraded using a snapshot.
+ *
+ * @return the creationData value.
+ */
+ public CreationData creationData() {
+ return this.creationData;
+ }
+
+ /**
+ * Set the creationData property: CreationData to be used to specify the source Snapshot ID if the node pool will be
+ * created/upgraded using a snapshot.
+ *
+ * @param creationData the creationData value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withCreationData(CreationData creationData) {
+ this.creationData = creationData;
+ return this;
+ }
+
+ /**
+ * Get the hostGroupId property: The fully qualified resource ID of the Dedicated Host Group to provision virtual
+ * machines from, used only in creation scenario and not allowed to changed once set.
+ *
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}.
+ * For more information see [Azure dedicated
+ * hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts).
+ *
+ * @return the hostGroupId value.
+ */
+ public String hostGroupId() {
+ return this.hostGroupId;
+ }
+
+ /**
+ * Set the hostGroupId property: The fully qualified resource ID of the Dedicated Host Group to provision virtual
+ * machines from, used only in creation scenario and not allowed to changed once set.
+ *
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}.
+ * For more information see [Azure dedicated
+ * hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts).
+ *
+ * @param hostGroupId the hostGroupId value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withHostGroupId(String hostGroupId) {
+ this.hostGroupId = hostGroupId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (upgradeSettings() != null) {
+ upgradeSettings().validate();
+ }
+ if (powerState() != null) {
+ powerState().validate();
+ }
+ if (kubeletConfig() != null) {
+ kubeletConfig().validate();
+ }
+ if (linuxOSConfig() != null) {
+ linuxOSConfig().validate();
+ }
+ if (creationData() != null) {
+ creationData().validate();
+ }
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterInner.java
new file mode 100644
index 0000000000000..93e6f49e6c917
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterInner.java
@@ -0,0 +1,1049 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ClusterUpgradeSettings;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ContainerServiceLinuxProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ContainerServiceNetworkProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ExtendedLocation;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.KubernetesSupportPlan;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAadProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAddonProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAgentPoolProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterApiServerAccessProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAutoUpgradeProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAzureMonitorProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterHttpProxyConfig;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterIdentity;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterOidcIssuerProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterPodIdentityProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterPropertiesAutoScalerProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterSecurityProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterServicePrincipalProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterSku;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterStorageProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterWindowsProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterWorkloadAutoScalerProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.PowerState;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.PublicNetworkAccess;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ServiceMeshProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.UserAssignedIdentity;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Managed cluster. */
+@Fluent
+public final class ManagedClusterInner extends Resource {
+ /*
+ * The managed cluster SKU.
+ */
+ @JsonProperty(value = "sku")
+ private ManagedClusterSku sku;
+
+ /*
+ * The extended location of the Virtual Machine.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The identity of the managed cluster, if configured.
+ */
+ @JsonProperty(value = "identity")
+ private ManagedClusterIdentity identity;
+
+ /*
+ * Properties of a managed cluster.
+ */
+ @JsonProperty(value = "properties")
+ private ManagedClusterProperties 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 ManagedClusterInner class. */
+ public ManagedClusterInner() {
+ }
+
+ /**
+ * Get the sku property: The managed cluster SKU.
+ *
+ * @return the sku value.
+ */
+ public ManagedClusterSku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The managed cluster SKU.
+ *
+ * @param sku the sku value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withSku(ManagedClusterSku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extended location of the Virtual Machine.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extended location of the Virtual Machine.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The identity of the managed cluster, if configured.
+ *
+ * @return the identity value.
+ */
+ public ManagedClusterIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The identity of the managed cluster, if configured.
+ *
+ * @param identity the identity value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withIdentity(ManagedClusterIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the innerProperties property: Properties of a managed cluster.
+ *
+ * @return the innerProperties value.
+ */
+ private ManagedClusterProperties 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 ManagedClusterInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ManagedClusterInner withTags(Map Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported.
+ * When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating
+ * the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger
+ * an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes
+ * minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For
+ * example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is
+ * not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more
+ * details.
+ *
+ * @return the kubernetesVersion value.
+ */
+ public String kubernetesVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().kubernetesVersion();
+ }
+
+ /**
+ * Set the kubernetesVersion property: The version of Kubernetes specified by the user.
+ *
+ * Both patch version <major.minor.patch> (e.g. 1.20.13) and <major.minor> (e.g. 1.20) are supported.
+ * When <major.minor> is specified, the latest supported GA patch version is chosen automatically. Updating
+ * the cluster with the same <major.minor> once it has been created (e.g. 1.14.x -> 1.14) will not trigger
+ * an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes
+ * minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For
+ * example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is
+ * not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more
+ * details.
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withKubernetesVersion(String kubernetesVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withKubernetesVersion(kubernetesVersion);
+ return this;
+ }
+
+ /**
+ * Get the currentKubernetesVersion property: The version of Kubernetes the Managed Cluster is running.
+ *
+ * If kubernetesVersion was a fully specified version <major.minor.patch>, this field will be exactly equal
+ * to it. If kubernetesVersion was <major.minor>, this field will contain the full <major.minor.patch>
+ * version being used.
+ *
+ * @return the currentKubernetesVersion value.
+ */
+ public String currentKubernetesVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().currentKubernetesVersion();
+ }
+
+ /**
+ * Get the dnsPrefix property: The DNS prefix of the Managed Cluster.
+ *
+ * This cannot be updated once the Managed Cluster has been created.
+ *
+ * @return the dnsPrefix value.
+ */
+ public String dnsPrefix() {
+ return this.innerProperties() == null ? null : this.innerProperties().dnsPrefix();
+ }
+
+ /**
+ * Set the dnsPrefix property: The DNS prefix of the Managed Cluster.
+ *
+ * This cannot be updated once the Managed Cluster has been created.
+ *
+ * @param dnsPrefix the dnsPrefix value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withDnsPrefix(String dnsPrefix) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withDnsPrefix(dnsPrefix);
+ return this;
+ }
+
+ /**
+ * Get the fqdnSubdomain property: The FQDN subdomain of the private cluster with custom private dns zone.
+ *
+ * This cannot be updated once the Managed Cluster has been created.
+ *
+ * @return the fqdnSubdomain value.
+ */
+ public String fqdnSubdomain() {
+ return this.innerProperties() == null ? null : this.innerProperties().fqdnSubdomain();
+ }
+
+ /**
+ * Set the fqdnSubdomain property: The FQDN subdomain of the private cluster with custom private dns zone.
+ *
+ * This cannot be updated once the Managed Cluster has been created.
+ *
+ * @param fqdnSubdomain the fqdnSubdomain value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withFqdnSubdomain(String fqdnSubdomain) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withFqdnSubdomain(fqdnSubdomain);
+ return this;
+ }
+
+ /**
+ * Get the fqdn property: The FQDN of the master pool.
+ *
+ * @return the fqdn value.
+ */
+ public String fqdn() {
+ return this.innerProperties() == null ? null : this.innerProperties().fqdn();
+ }
+
+ /**
+ * Get the privateFqdn property: The FQDN of private cluster.
+ *
+ * @return the privateFqdn value.
+ */
+ public String privateFqdn() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateFqdn();
+ }
+
+ /**
+ * Get the azurePortalFqdn property: The special FQDN used by the Azure Portal to access the Managed Cluster. This
+ * FQDN is for use only by the Azure Portal and should not be used by other clients.
+ *
+ * The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses,
+ * which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal
+ * to function properly.
+ *
+ * @return the azurePortalFqdn value.
+ */
+ public String azurePortalFqdn() {
+ return this.innerProperties() == null ? null : this.innerProperties().azurePortalFqdn();
+ }
+
+ /**
+ * Get the agentPoolProfiles property: The agent pool properties.
+ *
+ * @return the agentPoolProfiles value.
+ */
+ public List See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on
+ * AAD pod identity integration.
+ *
+ * @return the podIdentityProfile value.
+ */
+ public ManagedClusterPodIdentityProfile podIdentityProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().podIdentityProfile();
+ }
+
+ /**
+ * Set the podIdentityProfile property: The pod identity profile of the Managed Cluster.
+ *
+ * See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on
+ * AAD pod identity integration.
+ *
+ * @param podIdentityProfile the podIdentityProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withPodIdentityProfile(ManagedClusterPodIdentityProfile podIdentityProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withPodIdentityProfile(podIdentityProfile);
+ return this;
+ }
+
+ /**
+ * Get the oidcIssuerProfile property: The OIDC issuer profile of the Managed Cluster.
+ *
+ * @return the oidcIssuerProfile value.
+ */
+ public ManagedClusterOidcIssuerProfile oidcIssuerProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().oidcIssuerProfile();
+ }
+
+ /**
+ * Set the oidcIssuerProfile property: The OIDC issuer profile of the Managed Cluster.
+ *
+ * @param oidcIssuerProfile the oidcIssuerProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withOidcIssuerProfile(ManagedClusterOidcIssuerProfile oidcIssuerProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withOidcIssuerProfile(oidcIssuerProfile);
+ return this;
+ }
+
+ /**
+ * Get the nodeResourceGroup property: The name of the resource group containing agent pool nodes.
+ *
+ * @return the nodeResourceGroup value.
+ */
+ public String nodeResourceGroup() {
+ return this.innerProperties() == null ? null : this.innerProperties().nodeResourceGroup();
+ }
+
+ /**
+ * Set the nodeResourceGroup property: The name of the resource group containing agent pool nodes.
+ *
+ * @param nodeResourceGroup the nodeResourceGroup value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withNodeResourceGroup(String nodeResourceGroup) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withNodeResourceGroup(nodeResourceGroup);
+ return this;
+ }
+
+ /**
+ * Get the enableRbac property: Whether to enable Kubernetes Role-Based Access Control.
+ *
+ * @return the enableRbac value.
+ */
+ public Boolean enableRbac() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableRbac();
+ }
+
+ /**
+ * Set the enableRbac property: Whether to enable Kubernetes Role-Based Access Control.
+ *
+ * @param enableRbac the enableRbac value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withEnableRbac(Boolean enableRbac) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withEnableRbac(enableRbac);
+ return this;
+ }
+
+ /**
+ * Get the supportPlan property: The support plan for the Managed Cluster. If unspecified, the default is
+ * 'KubernetesOfficial'.
+ *
+ * @return the supportPlan value.
+ */
+ public KubernetesSupportPlan supportPlan() {
+ return this.innerProperties() == null ? null : this.innerProperties().supportPlan();
+ }
+
+ /**
+ * Set the supportPlan property: The support plan for the Managed Cluster. If unspecified, the default is
+ * 'KubernetesOfficial'.
+ *
+ * @param supportPlan the supportPlan value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withSupportPlan(KubernetesSupportPlan supportPlan) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withSupportPlan(supportPlan);
+ return this;
+ }
+
+ /**
+ * Get the enablePodSecurityPolicy property: (DEPRECATED) Whether to enable Kubernetes pod security policy
+ * (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more
+ * at https://aka.ms/k8s/psp and https://aka.ms/aks/psp.
+ *
+ * @return the enablePodSecurityPolicy value.
+ */
+ public Boolean enablePodSecurityPolicy() {
+ return this.innerProperties() == null ? null : this.innerProperties().enablePodSecurityPolicy();
+ }
+
+ /**
+ * Set the enablePodSecurityPolicy property: (DEPRECATED) Whether to enable Kubernetes pod security policy
+ * (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more
+ * at https://aka.ms/k8s/psp and https://aka.ms/aks/psp.
+ *
+ * @param enablePodSecurityPolicy the enablePodSecurityPolicy value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withEnablePodSecurityPolicy(Boolean enablePodSecurityPolicy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withEnablePodSecurityPolicy(enablePodSecurityPolicy);
+ return this;
+ }
+
+ /**
+ * Get the networkProfile property: The network configuration profile.
+ *
+ * @return the networkProfile value.
+ */
+ public ContainerServiceNetworkProfile networkProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().networkProfile();
+ }
+
+ /**
+ * Set the networkProfile property: The network configuration profile.
+ *
+ * @param networkProfile the networkProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withNetworkProfile(ContainerServiceNetworkProfile networkProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withNetworkProfile(networkProfile);
+ return this;
+ }
+
+ /**
+ * Get the aadProfile property: AADProfile specifies attributes for Azure Active Directory integration.
+ *
+ * The Azure Active Directory configuration.
+ *
+ * @return the aadProfile value.
+ */
+ public ManagedClusterAadProfile aadProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().aadProfile();
+ }
+
+ /**
+ * Set the aadProfile property: AADProfile specifies attributes for Azure Active Directory integration.
+ *
+ * The Azure Active Directory configuration.
+ *
+ * @param aadProfile the aadProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAadProfile(ManagedClusterAadProfile aadProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withAadProfile(aadProfile);
+ return this;
+ }
+
+ /**
+ * Get the autoUpgradeProfile property: The auto upgrade configuration.
+ *
+ * @return the autoUpgradeProfile value.
+ */
+ public ManagedClusterAutoUpgradeProfile autoUpgradeProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().autoUpgradeProfile();
+ }
+
+ /**
+ * Set the autoUpgradeProfile property: The auto upgrade configuration.
+ *
+ * @param autoUpgradeProfile the autoUpgradeProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAutoUpgradeProfile(ManagedClusterAutoUpgradeProfile autoUpgradeProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withAutoUpgradeProfile(autoUpgradeProfile);
+ return this;
+ }
+
+ /**
+ * Get the upgradeSettings property: Settings for upgrading a cluster.
+ *
+ * @return the upgradeSettings value.
+ */
+ public ClusterUpgradeSettings upgradeSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().upgradeSettings();
+ }
+
+ /**
+ * Set the upgradeSettings property: Settings for upgrading a cluster.
+ *
+ * @param upgradeSettings the upgradeSettings value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withUpgradeSettings(ClusterUpgradeSettings upgradeSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withUpgradeSettings(upgradeSettings);
+ return this;
+ }
+
+ /**
+ * Get the autoScalerProfile property: Parameters to be applied to the cluster-autoscaler when enabled.
+ *
+ * @return the autoScalerProfile value.
+ */
+ public ManagedClusterPropertiesAutoScalerProfile autoScalerProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().autoScalerProfile();
+ }
+
+ /**
+ * Set the autoScalerProfile property: Parameters to be applied to the cluster-autoscaler when enabled.
+ *
+ * @param autoScalerProfile the autoScalerProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAutoScalerProfile(ManagedClusterPropertiesAutoScalerProfile autoScalerProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withAutoScalerProfile(autoScalerProfile);
+ return this;
+ }
+
+ /**
+ * Get the apiServerAccessProfile property: The access profile for managed cluster API server.
+ *
+ * @return the apiServerAccessProfile value.
+ */
+ public ManagedClusterApiServerAccessProfile apiServerAccessProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().apiServerAccessProfile();
+ }
+
+ /**
+ * Set the apiServerAccessProfile property: The access profile for managed cluster API server.
+ *
+ * @param apiServerAccessProfile the apiServerAccessProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withApiServerAccessProfile(ManagedClusterApiServerAccessProfile apiServerAccessProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withApiServerAccessProfile(apiServerAccessProfile);
+ return this;
+ }
+
+ /**
+ * Get the diskEncryptionSetId property: The Resource ID of the disk encryption set to use for enabling encryption
+ * at rest.
+ *
+ * This is of the form:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'.
+ *
+ * @return the diskEncryptionSetId value.
+ */
+ public String diskEncryptionSetId() {
+ return this.innerProperties() == null ? null : this.innerProperties().diskEncryptionSetId();
+ }
+
+ /**
+ * Set the diskEncryptionSetId property: The Resource ID of the disk encryption set to use for enabling encryption
+ * at rest.
+ *
+ * This is of the form:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'.
+ *
+ * @param diskEncryptionSetId the diskEncryptionSetId value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withDiskEncryptionSetId(String diskEncryptionSetId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withDiskEncryptionSetId(diskEncryptionSetId);
+ return this;
+ }
+
+ /**
+ * Get the identityProfile property: Identities associated with the cluster.
+ *
+ * @return the identityProfile value.
+ */
+ public Map If set to true, getting static credentials will be disabled for this cluster. This must only be used on
+ * Managed Clusters that are AAD enabled. For more details see [disable local
+ * accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
+ *
+ * @return the disableLocalAccounts value.
+ */
+ public Boolean disableLocalAccounts() {
+ return this.innerProperties() == null ? null : this.innerProperties().disableLocalAccounts();
+ }
+
+ /**
+ * Set the disableLocalAccounts property: If local accounts should be disabled on the Managed Cluster.
+ *
+ * If set to true, getting static credentials will be disabled for this cluster. This must only be used on
+ * Managed Clusters that are AAD enabled. For more details see [disable local
+ * accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
+ *
+ * @param disableLocalAccounts the disableLocalAccounts value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withDisableLocalAccounts(Boolean disableLocalAccounts) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withDisableLocalAccounts(disableLocalAccounts);
+ return this;
+ }
+
+ /**
+ * Get the httpProxyConfig property: Configurations for provisioning the cluster with HTTP proxy servers.
+ *
+ * @return the httpProxyConfig value.
+ */
+ public ManagedClusterHttpProxyConfig httpProxyConfig() {
+ return this.innerProperties() == null ? null : this.innerProperties().httpProxyConfig();
+ }
+
+ /**
+ * Set the httpProxyConfig property: Configurations for provisioning the cluster with HTTP proxy servers.
+ *
+ * @param httpProxyConfig the httpProxyConfig value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withHttpProxyConfig(ManagedClusterHttpProxyConfig httpProxyConfig) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withHttpProxyConfig(httpProxyConfig);
+ return this;
+ }
+
+ /**
+ * Get the securityProfile property: Security profile for the managed cluster.
+ *
+ * @return the securityProfile value.
+ */
+ public ManagedClusterSecurityProfile securityProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().securityProfile();
+ }
+
+ /**
+ * Set the securityProfile property: Security profile for the managed cluster.
+ *
+ * @param securityProfile the securityProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withSecurityProfile(ManagedClusterSecurityProfile securityProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withSecurityProfile(securityProfile);
+ return this;
+ }
+
+ /**
+ * Get the storageProfile property: Storage profile for the managed cluster.
+ *
+ * @return the storageProfile value.
+ */
+ public ManagedClusterStorageProfile storageProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().storageProfile();
+ }
+
+ /**
+ * Set the storageProfile property: Storage profile for the managed cluster.
+ *
+ * @param storageProfile the storageProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withStorageProfile(ManagedClusterStorageProfile storageProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withStorageProfile(storageProfile);
+ return this;
+ }
+
+ /**
+ * Get the publicNetworkAccess property: PublicNetworkAccess of the managedCluster
+ *
+ * Allow or deny public network access for AKS.
+ *
+ * @return the publicNetworkAccess value.
+ */
+ public PublicNetworkAccess publicNetworkAccess() {
+ return this.innerProperties() == null ? null : this.innerProperties().publicNetworkAccess();
+ }
+
+ /**
+ * Set the publicNetworkAccess property: PublicNetworkAccess of the managedCluster
+ *
+ * Allow or deny public network access for AKS.
+ *
+ * @param publicNetworkAccess the publicNetworkAccess value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withPublicNetworkAccess(PublicNetworkAccess publicNetworkAccess) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withPublicNetworkAccess(publicNetworkAccess);
+ return this;
+ }
+
+ /**
+ * Get the workloadAutoScalerProfile property: Workload Auto-scaler profile for the managed cluster.
+ *
+ * @return the workloadAutoScalerProfile value.
+ */
+ public ManagedClusterWorkloadAutoScalerProfile workloadAutoScalerProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().workloadAutoScalerProfile();
+ }
+
+ /**
+ * Set the workloadAutoScalerProfile property: Workload Auto-scaler profile for the managed cluster.
+ *
+ * @param workloadAutoScalerProfile the workloadAutoScalerProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withWorkloadAutoScalerProfile(
+ ManagedClusterWorkloadAutoScalerProfile workloadAutoScalerProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withWorkloadAutoScalerProfile(workloadAutoScalerProfile);
+ return this;
+ }
+
+ /**
+ * Get the azureMonitorProfile property: Azure Monitor addon profiles for monitoring the managed cluster.
+ *
+ * @return the azureMonitorProfile value.
+ */
+ public ManagedClusterAzureMonitorProfile azureMonitorProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().azureMonitorProfile();
+ }
+
+ /**
+ * Set the azureMonitorProfile property: Azure Monitor addon profiles for monitoring the managed cluster.
+ *
+ * @param azureMonitorProfile the azureMonitorProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAzureMonitorProfile(ManagedClusterAzureMonitorProfile azureMonitorProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withAzureMonitorProfile(azureMonitorProfile);
+ return this;
+ }
+
+ /**
+ * Get the serviceMeshProfile property: Service mesh profile for a managed cluster.
+ *
+ * @return the serviceMeshProfile value.
+ */
+ public ServiceMeshProfile serviceMeshProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceMeshProfile();
+ }
+
+ /**
+ * Set the serviceMeshProfile property: Service mesh profile for a managed cluster.
+ *
+ * @param serviceMeshProfile the serviceMeshProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withServiceMeshProfile(ServiceMeshProfile serviceMeshProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withServiceMeshProfile(serviceMeshProfile);
+ return this;
+ }
+
+ /**
+ * Get the resourceUid property: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds
+ * (i.e: create, delete, create sequence).
+ *
+ * @return the resourceUid value.
+ */
+ public String resourceUid() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceUid();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() != null) {
+ sku().validate();
+ }
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterProperties.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterProperties.java
new file mode 100644
index 0000000000000..fdbba706919ea
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterProperties.java
@@ -0,0 +1,1172 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ClusterUpgradeSettings;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ContainerServiceLinuxProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ContainerServiceNetworkProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.KubernetesSupportPlan;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAadProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAddonProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAgentPoolProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterApiServerAccessProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAutoUpgradeProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAzureMonitorProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterHttpProxyConfig;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterOidcIssuerProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterPodIdentityProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterPropertiesAutoScalerProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterSecurityProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterServicePrincipalProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterStorageProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterWindowsProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterWorkloadAutoScalerProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.PowerState;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.PublicNetworkAccess;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ServiceMeshProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.UserAssignedIdentity;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Properties of the managed cluster. */
+@Fluent
+public final class ManagedClusterProperties {
+ /*
+ * The current provisioning state.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * The Power State of the cluster.
+ */
+ @JsonProperty(value = "powerState", access = JsonProperty.Access.WRITE_ONLY)
+ private PowerState powerState;
+
+ /*
+ * The max number of agent pools for the managed cluster.
+ */
+ @JsonProperty(value = "maxAgentPools", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer maxAgentPools;
+
+ /*
+ * The version of Kubernetes specified by the user.
+ *
+ * Both patch version