scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of 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 policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new ContainerServiceManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of OpenShiftManagedClusters. It manages OpenShiftManagedCluster.
+ *
+ * @return Resource collection API of OpenShiftManagedClusters.
+ */
+ public OpenShiftManagedClusters openShiftManagedClusters() {
+ if (this.openShiftManagedClusters == null) {
+ this.openShiftManagedClusters =
+ new OpenShiftManagedClustersImpl(clientObject.getOpenShiftManagedClusters(), this);
+ }
+ return openShiftManagedClusters;
+ }
+
+ /**
+ * Gets the resource collection API of ContainerServices.
+ *
+ * @return Resource collection API of ContainerServices.
+ */
+ public ContainerServices containerServices() {
+ if (this.containerServices == null) {
+ this.containerServices = new ContainerServicesImpl(clientObject.getContainerServices(), this);
+ }
+ return containerServices;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedClusters. It manages ManagedCluster.
+ *
+ * @return Resource collection API of ManagedClusters.
+ */
+ public ManagedClusters managedClusters() {
+ if (this.managedClusters == null) {
+ this.managedClusters = new ManagedClustersImpl(clientObject.getManagedClusters(), this);
+ }
+ return managedClusters;
+ }
+
+ /**
+ * Gets the resource collection API of MaintenanceConfigurations. It manages MaintenanceConfiguration.
+ *
+ * @return Resource collection API of MaintenanceConfigurations.
+ */
+ public MaintenanceConfigurations maintenanceConfigurations() {
+ if (this.maintenanceConfigurations == null) {
+ this.maintenanceConfigurations =
+ new MaintenanceConfigurationsImpl(clientObject.getMaintenanceConfigurations(), this);
+ }
+ return maintenanceConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of AgentPools. It manages AgentPool.
+ *
+ * @return Resource collection API of AgentPools.
+ */
+ public AgentPools agentPools() {
+ if (this.agentPools == null) {
+ this.agentPools = new AgentPoolsImpl(clientObject.getAgentPools(), this);
+ }
+ return agentPools;
+ }
+
+ /**
+ * Gets the resource collection API of Machines.
+ *
+ * @return Resource collection API of Machines.
+ */
+ public Machines machines() {
+ if (this.machines == null) {
+ this.machines = new MachinesImpl(clientObject.getMachines(), this);
+ }
+ return machines;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateEndpointConnections.
+ *
+ * @return Resource collection API of PrivateEndpointConnections.
+ */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections =
+ new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkResources.
+ *
+ * @return Resource collection API of PrivateLinkResources.
+ */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of ResolvePrivateLinkServiceIds.
+ *
+ * @return Resource collection API of ResolvePrivateLinkServiceIds.
+ */
+ public ResolvePrivateLinkServiceIds resolvePrivateLinkServiceIds() {
+ if (this.resolvePrivateLinkServiceIds == null) {
+ this.resolvePrivateLinkServiceIds =
+ new ResolvePrivateLinkServiceIdsImpl(clientObject.getResolvePrivateLinkServiceIds(), this);
+ }
+ return resolvePrivateLinkServiceIds;
+ }
+
+ /**
+ * Gets the resource collection API of Snapshots. It manages Snapshot.
+ *
+ * @return Resource collection API of Snapshots.
+ */
+ public Snapshots snapshots() {
+ if (this.snapshots == null) {
+ this.snapshots = new SnapshotsImpl(clientObject.getSnapshots(), this);
+ }
+ return snapshots;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedClusterSnapshots. It manages ManagedClusterSnapshot.
+ *
+ * @return Resource collection API of ManagedClusterSnapshots.
+ */
+ public ManagedClusterSnapshots managedClusterSnapshots() {
+ if (this.managedClusterSnapshots == null) {
+ this.managedClusterSnapshots =
+ new ManagedClusterSnapshotsImpl(clientObject.getManagedClusterSnapshots(), this);
+ }
+ return managedClusterSnapshots;
+ }
+
+ /**
+ * Gets the resource collection API of TrustedAccessRoles.
+ *
+ * @return Resource collection API of TrustedAccessRoles.
+ */
+ public TrustedAccessRoles trustedAccessRoles() {
+ if (this.trustedAccessRoles == null) {
+ this.trustedAccessRoles = new TrustedAccessRolesImpl(clientObject.getTrustedAccessRoles(), this);
+ }
+ return trustedAccessRoles;
+ }
+
+ /**
+ * Gets the resource collection API of TrustedAccessRoleBindings. It manages TrustedAccessRoleBinding.
+ *
+ * @return Resource collection API of TrustedAccessRoleBindings.
+ */
+ public TrustedAccessRoleBindings trustedAccessRoleBindings() {
+ if (this.trustedAccessRoleBindings == null) {
+ this.trustedAccessRoleBindings =
+ new TrustedAccessRoleBindingsImpl(clientObject.getTrustedAccessRoleBindings(), this);
+ }
+ return trustedAccessRoleBindings;
+ }
+
+ /**
+ * Gets wrapped service client ContainerServiceManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client ContainerServiceManagementClient.
+ */
+ public ContainerServiceManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/AgentPoolsClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/AgentPoolsClient.java
new file mode 100644
index 0000000000000..f10590b1d3c71
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/AgentPoolsClient.java
@@ -0,0 +1,435 @@
+// 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.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.AgentPoolAvailableVersionsInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.AgentPoolInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.AgentPoolUpgradeProfileInner;
+
+/** An instance of this class provides access to all the operations defined in AgentPoolsClient. */
+public interface AgentPoolsClient {
+ /**
+ * 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, an error 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, Void> beginAbortLatestOperation(
+ 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, an error 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, Void> beginAbortLatestOperation(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * 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, an error 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, an error 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 list(String resourceGroupName, String resourceName);
+
+ /**
+ * 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.
+ * @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 agent pools in the specified managed cluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets the specified managed cluster agent pool.
+ *
+ * @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 specified managed cluster agent pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * Gets the specified managed cluster agent pool.
+ *
+ * @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 specified managed cluster agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner get(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Creates or updates an agent pool 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.
+ * @param agentPoolName The name of the agent pool.
+ * @param parameters The agent pool to create or update.
+ * @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 agent Pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AgentPoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, String agentPoolName, AgentPoolInner parameters);
+
+ /**
+ * Creates or updates an agent pool 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.
+ * @param agentPoolName The name of the agent pool.
+ * @param parameters The agent pool to create or update.
+ * @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 agent Pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AgentPoolInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String resourceName,
+ String agentPoolName,
+ AgentPoolInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates an agent pool 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.
+ * @param agentPoolName The name of the agent pool.
+ * @param parameters The agent pool to create or update.
+ * @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 agent Pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner createOrUpdate(
+ String resourceGroupName, String resourceName, String agentPoolName, AgentPoolInner parameters);
+
+ /**
+ * Creates or updates an agent pool 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.
+ * @param agentPoolName The name of the agent pool.
+ * @param parameters The agent pool to create or update.
+ * @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 agent Pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner createOrUpdate(
+ String resourceGroupName,
+ String resourceName,
+ String agentPoolName,
+ AgentPoolInner parameters,
+ Context context);
+
+ /**
+ * Deletes an agent pool 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.
+ * @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, Void> beginDelete(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Deletes an agent pool 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.
+ * @param agentPoolName The name of the agent pool.
+ * @param ignorePodDisruptionBudget ignore-pod-disruption-budget=true to delete those pods on a node without
+ * considering Pod Disruption Budget.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String resourceName,
+ String agentPoolName,
+ Boolean ignorePodDisruptionBudget,
+ Context context);
+
+ /**
+ * Deletes an agent pool 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.
+ * @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 delete(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Deletes an agent pool 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.
+ * @param agentPoolName The name of the agent pool.
+ * @param ignorePodDisruptionBudget ignore-pod-disruption-budget=true to delete those pods on a node without
+ * considering Pod Disruption Budget.
+ * @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,
+ String agentPoolName,
+ Boolean ignorePodDisruptionBudget,
+ Context context);
+
+ /**
+ * Gets the upgrade profile for an agent pool.
+ *
+ * @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 upgrade profile for an agent pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getUpgradeProfileWithResponse(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * Gets the upgrade profile for an agent pool.
+ *
+ * @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 upgrade profile for an agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolUpgradeProfileInner getUpgradeProfile(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Gets a list of supported Kubernetes versions for the specified agent pool.
+ *
+ * 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 getAvailableAgentPoolVersionsWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets a list of supported Kubernetes versions for the specified agent pool.
+ *
+ * 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, AgentPoolInner> beginUpgradeNodeImageVersion(
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AgentPoolInner> beginUpgradeNodeImageVersion(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * 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 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..cd3bbb9a3c8db
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ContainerServiceManagementClient.java
@@ -0,0 +1,138 @@
+// 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 MachinesClient object to access its operations.
+ *
+ * @return the MachinesClient object.
+ */
+ MachinesClient getMachines();
+
+ /**
+ * 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 ManagedClusterSnapshotsClient object to access its operations.
+ *
+ * @return the ManagedClusterSnapshotsClient object.
+ */
+ ManagedClusterSnapshotsClient getManagedClusterSnapshots();
+
+ /**
+ * Gets the TrustedAccessRolesClient object to access its operations.
+ *
+ * @return the TrustedAccessRolesClient object.
+ */
+ TrustedAccessRolesClient getTrustedAccessRoles();
+
+ /**
+ * Gets the TrustedAccessRoleBindingsClient object to access its operations.
+ *
+ * @return the TrustedAccessRoleBindingsClient object.
+ */
+ TrustedAccessRoleBindingsClient getTrustedAccessRoleBindings();
+}
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 listOrchestratorsWithResponse(
+ String location, String resourceType, Context context);
+
+ /**
+ * 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.
+ * @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/MachinesClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/MachinesClient.java
new file mode 100644
index 0000000000000..aeab4605913c8
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/MachinesClient.java
@@ -0,0 +1,77 @@
+// 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.MachineInner;
+
+/** An instance of this class provides access to all the operations defined in MachinesClient. */
+public interface MachinesClient {
+ /**
+ * Gets a list of machines in the specified agent pool.
+ *
+ * @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 a list of machines in the specified agent pool as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Gets a list of machines in the specified agent pool.
+ *
+ * @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 a list of machines in the specified agent pool as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * Get a specific machine in the specified agent pool.
+ *
+ * @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 machineName host name of the machine.
+ * @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 specific machine in the specified agent pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String resourceName, String agentPoolName, String machineName, Context context);
+
+ /**
+ * Get a specific machine in the specified agent pool.
+ *
+ * @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 machineName host name of the machine.
+ * @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 specific machine in the specified agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineInner get(String resourceGroupName, String resourceName, String agentPoolName, String machineName);
+}
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 listByManagedCluster(String resourceGroupName, String resourceName);
+
+ /**
+ * 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.
+ * @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 maintenance configurations in the specified managed cluster as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByManagedCluster(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets the specified maintenance configuration 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 configName The name of the maintenance configuration.
+ * @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 specified maintenance configuration of a managed cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String resourceName, String configName, Context context);
+
+ /**
+ * Gets the specified maintenance configuration 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 configName The name of the maintenance configuration.
+ * @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 specified maintenance configuration of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MaintenanceConfigurationInner get(String resourceGroupName, String resourceName, String configName);
+
+ /**
+ * Creates or updates a maintenance configuration 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.
+ * @param configName The name of the maintenance configuration.
+ * @param parameters The maintenance configuration to create or update.
+ * @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 planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster
+ * along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String resourceName,
+ String configName,
+ MaintenanceConfigurationInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a maintenance configuration 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.
+ * @param configName The name of the maintenance configuration.
+ * @param parameters The maintenance configuration to create or update.
+ * @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 planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MaintenanceConfigurationInner createOrUpdate(
+ String resourceGroupName, String resourceName, String configName, MaintenanceConfigurationInner parameters);
+
+ /**
+ * Deletes a maintenance configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param configName The name of the maintenance configuration.
+ * @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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String resourceName, String configName, Context context);
+
+ /**
+ * Deletes a maintenance configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param configName The name of the maintenance configuration.
+ * @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, String configName);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ManagedClusterSnapshotsClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ManagedClusterSnapshotsClient.java
new file mode 100644
index 0000000000000..a3e5c0d5f5d84
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ManagedClusterSnapshotsClient.java
@@ -0,0 +1,182 @@
+// 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.ManagedClusterSnapshotInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ManagedClusterSnapshotsClient. */
+public interface ManagedClusterSnapshotsClient {
+ /**
+ * Gets a list of managed cluster snapshots 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 cluster snapshots in the specified subscription as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of managed cluster snapshots in the specified subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of managed cluster snapshots in the specified subscription as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists managed cluster snapshots in the specified subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Managed Cluster Snapshots operation as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists managed cluster snapshots in the specified subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Managed Cluster Snapshots operation as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets a managed cluster snapshot.
+ *
+ * @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 managed cluster snapshot along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets a managed cluster snapshot.
+ *
+ * @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 managed cluster snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterSnapshotInner getByResourceGroup(String resourceGroupName, String resourceName);
+
+ /**
+ * Creates or updates a managed cluster snapshot.
+ *
+ * @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 managed cluster snapshot to create or update.
+ * @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 managed cluster snapshot resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String resourceName, ManagedClusterSnapshotInner parameters, Context context);
+
+ /**
+ * Creates or updates a managed cluster snapshot.
+ *
+ * @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 managed cluster snapshot to create or update.
+ * @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 managed cluster snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterSnapshotInner createOrUpdate(
+ String resourceGroupName, String resourceName, ManagedClusterSnapshotInner parameters);
+
+ /**
+ * Updates tags on a managed cluster snapshot.
+ *
+ * @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 supplied to the Update managed cluster snapshot 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 a managed cluster snapshot resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Updates tags on a managed cluster snapshot.
+ *
+ * @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 supplied to the Update managed cluster snapshot 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 a managed cluster snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterSnapshotInner updateTags(String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Deletes a managed cluster snapshot.
+ *
+ * @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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Deletes a managed cluster snapshot.
+ *
+ * @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 delete(String resourceGroupName, String resourceName);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ManagedClustersClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ManagedClustersClient.java
new file mode 100644
index 0000000000000..191711e4cf940
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/ManagedClustersClient.java
@@ -0,0 +1,1303 @@
+// 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.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.CredentialResultsInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.GuardrailsAvailableVersionInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.KubernetesVersionListResultInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.ManagedClusterAccessProfileInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.ManagedClusterInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.ManagedClusterUpgradeProfileInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.MeshRevisionProfileInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.MeshUpgradeProfileInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.OSOptionProfileInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.OutboundEnvironmentEndpointInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.RunCommandResultInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.Format;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterAadProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClusterServicePrincipalProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ManagedClustersGetCommandResultResponse;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.RunCommandRequest;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ManagedClustersClient. */
+public interface ManagedClustersClient {
+ /**
+ * Gets supported OS options in the specified subscription.
+ *
+ * @param location The name of Azure region.
+ * @param resourceType The resource type for which the OS options 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 supported OS options in the specified subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getOSOptionsWithResponse(String location, String resourceType, Context context);
+
+ /**
+ * Gets supported OS options in the specified subscription.
+ *
+ * @param location The name of 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 supported OS options in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OSOptionProfileInner getOSOptions(String location);
+
+ /**
+ * Gets a list of supported Kubernetes versions in the specified subscription.
+ *
+ * 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 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 listKubernetesVersionsWithResponse(String location, Context context);
+
+ /**
+ * Gets a list of supported Kubernetes versions in the specified subscription.
+ *
+ * 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 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 list();
+
+ /**
+ * Gets a list of managed clusters in the specified subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of managed clusters in the specified subscription as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists managed clusters in the specified subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Managed Clusters operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists managed clusters in the specified subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Managed Clusters operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the upgrade profile 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 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 upgrade profile of a managed cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getUpgradeProfileWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets the upgrade profile 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 upgrade profile of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterUpgradeProfileInner getUpgradeProfile(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets an access profile of a managed cluster.
+ *
+ * **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 getAccessProfileWithResponse(
+ String resourceGroupName, String resourceName, String roleName, Context context);
+
+ /**
+ * Gets an access profile of a managed cluster.
+ *
+ * **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 listClusterAdminCredentialsWithResponse(
+ String resourceGroupName, String resourceName, String serverFqdn, Context context);
+
+ /**
+ * 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.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialResultsInner listClusterAdminCredentials(String resourceGroupName, String resourceName);
+
+ /**
+ * Lists the user 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 format Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return
+ * azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin
+ * binary in the path.
+ * @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 listClusterUserCredentialsWithResponse(
+ String resourceGroupName, String resourceName, String serverFqdn, Format format, Context context);
+
+ /**
+ * Lists the user 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.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialResultsInner listClusterUserCredentials(String resourceGroupName, String resourceName);
+
+ /**
+ * Lists the cluster monitoring user 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 listClusterMonitoringUserCredentialsWithResponse(
+ String resourceGroupName, String resourceName, String serverFqdn, Context context);
+
+ /**
+ * Lists the cluster monitoring user 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.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialResultsInner listClusterMonitoringUserCredentials(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets 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 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 managed cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets 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 a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner getByResourceGroup(String resourceGroupName, String resourceName);
+
+ /**
+ * Creates or updates 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 parameters The managed cluster to create or update.
+ * @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 managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ManagedClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, ManagedClusterInner parameters);
+
+ /**
+ * Creates or updates 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 parameters The managed cluster to create or update.
+ * @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 managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ManagedClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, ManagedClusterInner parameters, Context context);
+
+ /**
+ * Creates or updates 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 parameters The managed cluster to create or update.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner createOrUpdate(String resourceGroupName, String resourceName, ManagedClusterInner parameters);
+
+ /**
+ * Creates or updates 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 parameters The managed cluster to create or update.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner createOrUpdate(
+ String resourceGroupName, String resourceName, ManagedClusterInner parameters, Context context);
+
+ /**
+ * Updates tags on 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 parameters Parameters supplied to the Update 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 managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ManagedClusterInner> beginUpdateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Updates tags on 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 parameters Parameters supplied to the Update 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 managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ManagedClusterInner> beginUpdateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Updates tags on 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 parameters Parameters supplied to the Update 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 managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner updateTags(String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Updates tags on 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 parameters Parameters supplied to the Update 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 managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner updateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Deletes 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, Void> beginDelete(String resourceGroupName, String resourceName);
+
+ /**
+ * Deletes 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 ignorePodDisruptionBudget ignore-pod-disruption-budget=true to delete those pods on a node without
+ * considering Pod Disruption Budget.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourceName, Boolean ignorePodDisruptionBudget, Context context);
+
+ /**
+ * Deletes 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName);
+
+ /**
+ * Deletes 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 ignorePodDisruptionBudget ignore-pod-disruption-budget=true to delete those pods on a node without
+ * considering Pod Disruption Budget.
+ * @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, Boolean ignorePodDisruptionBudget, Context context);
+
+ /**
+ * 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginResetServicePrincipalProfile(
+ 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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginResetServicePrincipalProfile(
+ String resourceGroupName,
+ String resourceName,
+ ManagedClusterServicePrincipalProfile parameters,
+ Context context);
+
+ /**
+ * 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.
+ * @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, Void> beginResetAadProfile(
+ 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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginResetAadProfile(
+ String resourceGroupName, String resourceName, ManagedClusterAadProfile 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.
+ */
+ @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);
+
+ /**
+ * 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, an error 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, Void> beginAbortLatestOperation(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, an error 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, Void> beginAbortLatestOperation(
+ 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, an error 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, an error 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 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, Void> beginRotateClusterCertificates(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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRotateClusterCertificates(
+ String resourceGroupName, String resourceName, 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.
+ */
+ @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);
+
+ /**
+ * 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, Void> beginRotateServiceAccountSigningKeys(
+ String resourceGroupName, String resourceName);
+
+ /**
+ * 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRotateServiceAccountSigningKeys(
+ 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void rotateServiceAccountSigningKeys(String resourceGroupName, String resourceName);
+
+ /**
+ * 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.
+ * @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 rotateServiceAccountSigningKeys(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginStop(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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginStop(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * 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.
+ * @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, Void> beginStart(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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginStart(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.
+ */
+ @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, RunCommandResultInner> beginRunCommand(
+ 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 the {@link SyncPoller} for polling of run command result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RunCommandResultInner> beginRunCommand(
+ String resourceGroupName, String resourceName, RunCommandRequest requestPayload, 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 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 listOutboundNetworkDependenciesEndpoints(
+ String resourceGroupName, String resourceName);
+
+ /**
+ * 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.
+ * @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 listOutboundNetworkDependenciesEndpoints(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets supported Guardrails version in the specified subscription and location.
+ *
+ * Contains Guardrails version along with its support info and whether it is a default version.
+ *
+ * @param location The name of Azure region.
+ * @param version Guardrails version.
+ * @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 available Guardrails Version along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getGuardrailsVersionsWithResponse(
+ String location, String version, Context context);
+
+ /**
+ * Gets supported Guardrails version in the specified subscription and location.
+ *
+ * Contains Guardrails version along with its support info and whether it is a default version.
+ *
+ * @param location The name of Azure region.
+ * @param version Guardrails version.
+ * @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 available Guardrails Version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GuardrailsAvailableVersionInner getGuardrailsVersions(String location, String version);
+
+ /**
+ * Gets a list of supported Guardrails versions in the specified subscription and location.
+ *
+ *
Contains list of Guardrails version along with its support info and whether it is a default version.
+ *
+ * @param location The name of 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 GuardrailsVersions as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listGuardrailsVersions(String location);
+
+ /**
+ * Gets a list of supported Guardrails versions in the specified subscription and location.
+ *
+ * Contains list of Guardrails version along with its support info and whether it is a default version.
+ *
+ * @param location The name of 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 GuardrailsVersions as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listGuardrailsVersions(String location, Context context);
+
+ /**
+ * Lists mesh revision profiles for all meshes in the specified location.
+ *
+ * Contains extra metadata on each revision, including supported revisions, cluster compatibility and available
+ * upgrades.
+ *
+ * @param location The name of 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 listMeshRevisionProfiles(String location);
+
+ /**
+ * Lists mesh revision profiles for all meshes in the specified location.
+ *
+ * Contains extra metadata on each revision, including supported revisions, cluster compatibility and available
+ * upgrades.
+ *
+ * @param location The name of 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 listMeshRevisionProfiles(String location, Context context);
+
+ /**
+ * Gets a mesh revision profile for a specified mesh in the specified location.
+ *
+ * Contains extra metadata on the revision, including supported revisions, cluster compatibility and available
+ * upgrades.
+ *
+ * @param location The name of 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 getMeshRevisionProfileWithResponse(
+ String location, String mode, Context context);
+
+ /**
+ * Gets a mesh revision profile for a specified mesh in the specified location.
+ *
+ * Contains extra metadata on the revision, including supported revisions, cluster compatibility and available
+ * upgrades.
+ *
+ * @param location The name of 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 listMeshUpgradeProfiles(String resourceGroupName, String resourceName);
+
+ /**
+ * 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.
+ * @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 MeshUpgradeProfiles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMeshUpgradeProfiles(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets available upgrades for a service mesh in 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 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 available upgrades for a service mesh in a cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getMeshUpgradeProfileWithResponse(
+ String resourceGroupName, String resourceName, String mode, Context context);
+
+ /**
+ * Gets available upgrades for a service mesh in 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 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 available upgrades for a service mesh in a cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MeshUpgradeProfileInner getMeshUpgradeProfile(String resourceGroupName, String resourceName, String mode);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/OpenShiftManagedClustersClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/OpenShiftManagedClustersClient.java
new file mode 100644
index 0000000000000..5e93ac3b89c42
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/OpenShiftManagedClustersClient.java
@@ -0,0 +1,317 @@
+// 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.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.OpenShiftManagedClusterInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in OpenShiftManagedClustersClient. */
+public interface OpenShiftManagedClustersClient {
+ /**
+ * Gets a list of OpenShift managed clusters in the specified subscription.
+ *
+ * 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 list();
+
+ /**
+ * Gets a list of OpenShift managed clusters in the specified subscription.
+ *
+ * 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 list(Context context);
+
+ /**
+ * Lists OpenShift managed clusters in the specified subscription and resource group.
+ *
+ * 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 listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists OpenShift managed clusters in the specified subscription and resource group.
+ *
+ * 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 listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets a OpenShift managed cluster.
+ *
+ * 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 getByResourceGroupWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets a OpenShift managed cluster.
+ *
+ * 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, OpenShiftManagedClusterInner> beginCreateOrUpdate(
+ 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 the {@link SyncPoller} for polling of openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OpenShiftManagedClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, OpenShiftManagedClusterInner parameters, Context context);
+
+ /**
+ * 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 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, OpenShiftManagedClusterInner> beginUpdateTags(
+ 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 the {@link SyncPoller} for polling of openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OpenShiftManagedClusterInner> beginUpdateTags(
+ String resourceGroupName, String resourceName, TagsObject 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 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, Void> beginDelete(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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName, 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.
+ */
+ @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 list();
+
+ /**
+ * Gets a list of operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of operations as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/PrivateEndpointConnectionsClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/PrivateEndpointConnectionsClient.java
new file mode 100644
index 0000000000000..13c5f3f8da166
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/PrivateEndpointConnectionsClient.java
@@ -0,0 +1,182 @@
+// 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.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.PrivateEndpointConnectionListResultInner;
+
+/** An instance of this class provides access to all the operations defined in PrivateEndpointConnectionsClient. */
+public interface PrivateEndpointConnectionsClient {
+ /**
+ * Gets a list of private endpoint connections in the specified managed cluster.
+ *
+ * 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 listWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets a list of private endpoint connections in the specified managed cluster.
+ *
+ * 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 getWithResponse(
+ String resourceGroupName, String resourceName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * 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.
+ * @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 updateWithResponse(
+ String resourceGroupName,
+ String resourceName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context);
+
+ /**
+ * 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.
+ * @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 update(
+ String resourceGroupName,
+ String resourceName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters);
+
+ /**
+ * Deletes 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourceName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes 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 context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourceName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes 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.
+ * @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, String privateEndpointConnectionName);
+
+ /**
+ * Deletes 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 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, String privateEndpointConnectionName, Context context);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/PrivateLinkResourcesClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/PrivateLinkResourcesClient.java
new file mode 100644
index 0000000000000..606acef754e55
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/PrivateLinkResourcesClient.java
@@ -0,0 +1,46 @@
+// 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.PrivateLinkResourcesListResultInner;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkResourcesClient. */
+public interface PrivateLinkResourcesClient {
+ /**
+ * Gets a list of private link resources in the specified managed cluster.
+ *
+ * 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 listWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets a list of private link resources in the specified managed cluster.
+ *
+ * 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 postWithResponse(
+ String resourceGroupName, String resourceName, PrivateLinkResourceInner parameters, Context context);
+
+ /**
+ * 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.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourceInner post(String resourceGroupName, String resourceName, PrivateLinkResourceInner parameters);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/SnapshotsClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/SnapshotsClient.java
new file mode 100644
index 0000000000000..84886c79de249
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/SnapshotsClient.java
@@ -0,0 +1,177 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.SnapshotInner;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in SnapshotsClient. */
+public interface SnapshotsClient {
+ /**
+ * Gets a list of snapshots 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 snapshots in the specified subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of snapshots in the specified subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of snapshots in the specified subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists snapshots in the specified subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Snapshots operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists snapshots in the specified subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Snapshots operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets a snapshot.
+ *
+ * @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 snapshot along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets a snapshot.
+ *
+ * @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 snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner getByResourceGroup(String resourceGroupName, String resourceName);
+
+ /**
+ * Creates or updates a snapshot.
+ *
+ * @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 snapshot to create or update.
+ * @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 node pool snapshot resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName, String resourceName, SnapshotInner parameters, Context context);
+
+ /**
+ * Creates or updates a snapshot.
+ *
+ * @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 snapshot to create or update.
+ * @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 node pool snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner createOrUpdate(String resourceGroupName, String resourceName, SnapshotInner parameters);
+
+ /**
+ * Updates tags on a snapshot.
+ *
+ * @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 supplied to the Update snapshot 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 a node pool snapshot resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Updates tags on a snapshot.
+ *
+ * @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 supplied to the Update snapshot 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 a node pool snapshot resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner updateTags(String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Deletes a snapshot.
+ *
+ * @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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Deletes a snapshot.
+ *
+ * @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 delete(String resourceGroupName, String resourceName);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/TrustedAccessRoleBindingsClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/TrustedAccessRoleBindingsClient.java
new file mode 100644
index 0000000000000..d735bab7629d3
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/TrustedAccessRoleBindingsClient.java
@@ -0,0 +1,213 @@
+// 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.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models.TrustedAccessRoleBindingInner;
+
+/** An instance of this class provides access to all the operations defined in TrustedAccessRoleBindingsClient. */
+public interface TrustedAccessRoleBindingsClient {
+ /**
+ * List trusted access role bindings.
+ *
+ * @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 list of trusted access role bindings as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String resourceName);
+
+ /**
+ * List trusted access role bindings.
+ *
+ * @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 list of trusted access role bindings as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Get a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @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 trusted access role binding along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String resourceName, String trustedAccessRoleBindingName, Context context);
+
+ /**
+ * Get a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @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 trusted access role binding.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TrustedAccessRoleBindingInner get(
+ String resourceGroupName, String resourceName, String trustedAccessRoleBindingName);
+
+ /**
+ * Create or update a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @param trustedAccessRoleBinding A trusted access role binding.
+ * @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 defines binding between a resource and role.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TrustedAccessRoleBindingInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String resourceName,
+ String trustedAccessRoleBindingName,
+ TrustedAccessRoleBindingInner trustedAccessRoleBinding);
+
+ /**
+ * Create or update a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @param trustedAccessRoleBinding A trusted access role binding.
+ * @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 defines binding between a resource and role.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TrustedAccessRoleBindingInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String resourceName,
+ String trustedAccessRoleBindingName,
+ TrustedAccessRoleBindingInner trustedAccessRoleBinding,
+ Context context);
+
+ /**
+ * Create or update a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @param trustedAccessRoleBinding A trusted access role binding.
+ * @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 defines binding between a resource and role.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TrustedAccessRoleBindingInner createOrUpdate(
+ String resourceGroupName,
+ String resourceName,
+ String trustedAccessRoleBindingName,
+ TrustedAccessRoleBindingInner trustedAccessRoleBinding);
+
+ /**
+ * Create or update a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @param trustedAccessRoleBinding A trusted access role binding.
+ * @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 defines binding between a resource and role.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TrustedAccessRoleBindingInner createOrUpdate(
+ String resourceGroupName,
+ String resourceName,
+ String trustedAccessRoleBindingName,
+ TrustedAccessRoleBindingInner trustedAccessRoleBinding,
+ Context context);
+
+ /**
+ * Delete a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourceName, String trustedAccessRoleBindingName);
+
+ /**
+ * Delete a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourceName, String trustedAccessRoleBindingName, Context context);
+
+ /**
+ * Delete a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @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, String trustedAccessRoleBindingName);
+
+ /**
+ * Delete a trusted access role binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param trustedAccessRoleBindingName The name of trusted access role binding.
+ * @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, String trustedAccessRoleBindingName, Context context);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/TrustedAccessRolesClient.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/TrustedAccessRolesClient.java
new file mode 100644
index 0000000000000..3d03206efc0f5
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/TrustedAccessRolesClient.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.TrustedAccessRoleInner;
+
+/** An instance of this class provides access to all the operations defined in TrustedAccessRolesClient. */
+public interface TrustedAccessRolesClient {
+ /**
+ * List supported trusted access roles.
+ *
+ * @param location The name of 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 list of trusted access roles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * List supported trusted access roles.
+ *
+ * @param location The name of 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 list of trusted access roles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AccessProfile.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AccessProfile.java
new file mode 100644
index 0000000000000..98a082c1c310f
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AccessProfile.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Profile for enabling a user to access a managed cluster. */
+@Fluent
+public final class AccessProfile {
+ /*
+ * Base64-encoded Kubernetes configuration file.
+ */
+ @JsonProperty(value = "kubeConfig")
+ private byte[] kubeConfig;
+
+ /** Creates an instance of AccessProfile class. */
+ public AccessProfile() {
+ }
+
+ /**
+ * Get the kubeConfig property: Base64-encoded Kubernetes configuration file.
+ *
+ * @return the kubeConfig value.
+ */
+ public byte[] kubeConfig() {
+ return CoreUtils.clone(this.kubeConfig);
+ }
+
+ /**
+ * Set the kubeConfig property: Base64-encoded Kubernetes configuration file.
+ *
+ * @param kubeConfig the kubeConfig value to set.
+ * @return the AccessProfile object itself.
+ */
+ public AccessProfile withKubeConfig(byte[] kubeConfig) {
+ this.kubeConfig = CoreUtils.clone(kubeConfig);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolAvailableVersionsInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolAvailableVersionsInner.java
new file mode 100644
index 0000000000000..b1324c572e6a1
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolAvailableVersionsInner.java
@@ -0,0 +1,121 @@
+// 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.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list of available versions for an agent pool. */
+@Fluent
+public final class AgentPoolAvailableVersionsInner {
+ /*
+ * The ID of the agent pool version list.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The name of the agent pool version list.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Type of the agent pool version list.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Properties of agent pool available versions.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private AgentPoolAvailableVersionsProperties innerProperties = new AgentPoolAvailableVersionsProperties();
+
+ /** Creates an instance of AgentPoolAvailableVersionsInner class. */
+ public AgentPoolAvailableVersionsInner() {
+ }
+
+ /**
+ * Get the id property: The ID of the agent pool version list.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The name of the agent pool version list.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: Type of the agent pool version list.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Properties of agent pool available versions.
+ *
+ * @return the innerProperties value.
+ */
+ private AgentPoolAvailableVersionsProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the agentPoolVersions property: List of versions available for agent pool.
+ *
+ * @return the agentPoolVersions value.
+ */
+ public List agentPoolVersions() {
+ return this.innerProperties() == null ? null : this.innerProperties().agentPoolVersions();
+ }
+
+ /**
+ * Set the agentPoolVersions property: List of versions available for agent pool.
+ *
+ * @param agentPoolVersions the agentPoolVersions value to set.
+ * @return the AgentPoolAvailableVersionsInner object itself.
+ */
+ public AgentPoolAvailableVersionsInner withAgentPoolVersions(
+ List agentPoolVersions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolAvailableVersionsProperties();
+ }
+ this.innerProperties().withAgentPoolVersions(agentPoolVersions);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model AgentPoolAvailableVersionsInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AgentPoolAvailableVersionsInner.class);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolAvailableVersionsProperties.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolAvailableVersionsProperties.java
new file mode 100644
index 0000000000000..7425b11c42bc9
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolAvailableVersionsProperties.java
@@ -0,0 +1,56 @@
+// 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.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list of available agent pool versions. */
+@Fluent
+public final class AgentPoolAvailableVersionsProperties {
+ /*
+ * List of versions available for agent pool.
+ */
+ @JsonProperty(value = "agentPoolVersions")
+ private List agentPoolVersions;
+
+ /** Creates an instance of AgentPoolAvailableVersionsProperties class. */
+ public AgentPoolAvailableVersionsProperties() {
+ }
+
+ /**
+ * Get the agentPoolVersions property: List of versions available for agent pool.
+ *
+ * @return the agentPoolVersions value.
+ */
+ public List agentPoolVersions() {
+ return this.agentPoolVersions;
+ }
+
+ /**
+ * Set the agentPoolVersions property: List of versions available for agent pool.
+ *
+ * @param agentPoolVersions the agentPoolVersions value to set.
+ * @return the AgentPoolAvailableVersionsProperties object itself.
+ */
+ public AgentPoolAvailableVersionsProperties withAgentPoolVersions(
+ List agentPoolVersions) {
+ this.agentPoolVersions = agentPoolVersions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (agentPoolVersions() != null) {
+ agentPoolVersions().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolInner.java
new file mode 100644
index 0000000000000..389090d2b4ef9
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolInner.java
@@ -0,0 +1,1315 @@
+// 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.SubResource;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolMode;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolNetworkProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolSecurityProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolType;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolUpgradeSettings;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolWindowsProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.CreationData;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.GpuInstanceProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.KubeletConfig;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.KubeletDiskType;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.LinuxOSConfig;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.OSDiskType;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.OSType;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.Ossku;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.PowerState;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ScaleDownMode;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ScaleSetEvictionPolicy;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ScaleSetPriority;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.WorkloadRuntime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Agent Pool. */
+@Fluent
+public final class AgentPoolInner extends SubResource {
+ /*
+ * Properties of an agent pool.
+ */
+ @JsonProperty(value = "properties")
+ private ManagedClusterAgentPoolProfileProperties 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 AgentPoolInner class. */
+ public AgentPoolInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Properties of an agent pool.
+ *
+ * @return the innerProperties value.
+ */
+ private ManagedClusterAgentPoolProfileProperties 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 AgentPoolInner withId(String id) {
+ super.withId(id);
+ return this;
+ }
+
+ /**
+ * Get the count property: Number of agents (VMs) to host docker containers. Allowed values must be in the range of
+ * 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default
+ * value is 1.
+ *
+ * @return the count value.
+ */
+ public Integer count() {
+ return this.innerProperties() == null ? null : this.innerProperties().count();
+ }
+
+ /**
+ * Set the count property: Number of agents (VMs) to host docker containers. Allowed values must be in the range of
+ * 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default
+ * value is 1.
+ *
+ * @param count the count value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withCount(Integer count) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withCount(count);
+ return this;
+ }
+
+ /**
+ * Get 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.
+ *
+ * @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 messageOfTheDay property: Message of the day for Linux nodes, base64-encoded.
+ *
+ *
A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the
+ * message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e.,
+ * will be printed raw and not be executed as a script).
+ *
+ * @return the messageOfTheDay value.
+ */
+ public String messageOfTheDay() {
+ return this.innerProperties() == null ? null : this.innerProperties().messageOfTheDay();
+ }
+
+ /**
+ * Set the messageOfTheDay property: Message of the day for Linux nodes, base64-encoded.
+ *
+ *
A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the
+ * message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e.,
+ * will be printed raw and not be executed as a script).
+ *
+ * @param messageOfTheDay the messageOfTheDay value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMessageOfTheDay(String messageOfTheDay) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withMessageOfTheDay(messageOfTheDay);
+ 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. If not specified, the default is Ubuntu if
+ * OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after
+ * Windows2019 is deprecated.
+ *
+ * @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. If not specified, the default is Ubuntu if
+ * OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after
+ * Windows2019 is deprecated.
+ *
+ * @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> and <major.minor> are supported. When <major.minor>
+ * is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same
+ * <major.minor> once it has been created 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> and <major.minor> are supported. When <major.minor>
+ * is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same
+ * <major.minor> once it has been created 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 running on the Agent Pool.
+ *
+ *
If orchestratorVersion was a fully specified version <major.minor.patch>, this field will be exactly
+ * equal to it. If orchestratorVersion was <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 availabilityZones() {
+ return this.innerProperties() == null ? null : this.innerProperties().availabilityZones();
+ }
+
+ /**
+ * Set the availabilityZones property: The list of Availability zones to use for nodes. This can only be specified
+ * if the AgentPoolType property is 'VirtualMachineScaleSets'.
+ *
+ * @param availabilityZones the availabilityZones value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withAvailabilityZones(List availabilityZones) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withAvailabilityZones(availabilityZones);
+ return this;
+ }
+
+ /**
+ * Get 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.
+ *
+ * @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 enableCustomCATrust property: Whether to enable Custom CA Trust feature.
+ *
+ *
When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset
+ * along with host services to sync custom certificate authorities from user-provided list of base64 encoded
+ * certificates into node trust stores. Defaults to false.
+ *
+ * @return the enableCustomCATrust value.
+ */
+ public Boolean enableCustomCATrust() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableCustomCATrust();
+ }
+
+ /**
+ * Set the enableCustomCATrust property: Whether to enable Custom CA Trust feature.
+ *
+ *
When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset
+ * along with host services to sync custom certificate authorities from user-provided list of base64 encoded
+ * certificates into node trust stores. Defaults to false.
+ *
+ * @param enableCustomCATrust the enableCustomCATrust value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableCustomCATrust(Boolean enableCustomCATrust) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withEnableCustomCATrust(enableCustomCATrust);
+ 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 tags() {
+ return this.innerProperties() == null ? null : this.innerProperties().tags();
+ }
+
+ /**
+ * Set the tags property: The tags to be persisted on the agent pool virtual machine scale set.
+ *
+ * @param tags the tags value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withTags(Map tags) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the nodeLabels property: The node labels to be persisted across all nodes in agent pool.
+ *
+ * @return the nodeLabels value.
+ */
+ public Map nodeLabels() {
+ return this.innerProperties() == null ? null : this.innerProperties().nodeLabels();
+ }
+
+ /**
+ * Set the nodeLabels property: The node labels to be persisted across all nodes in agent pool.
+ *
+ * @param nodeLabels the nodeLabels value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodeLabels(Map nodeLabels) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withNodeLabels(nodeLabels);
+ return this;
+ }
+
+ /**
+ * Get the nodeTaints property: The taints added to new nodes during node pool create and scale. For example,
+ * key=value:NoSchedule.
+ *
+ * @return the nodeTaints value.
+ */
+ public List nodeTaints() {
+ return this.innerProperties() == null ? null : this.innerProperties().nodeTaints();
+ }
+
+ /**
+ * Set the nodeTaints property: The taints added to new nodes during node pool create and scale. For example,
+ * key=value:NoSchedule.
+ *
+ * @param nodeTaints the nodeTaints value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodeTaints(List nodeTaints) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withNodeTaints(nodeTaints);
+ return this;
+ }
+
+ /**
+ * Get the proximityPlacementGroupId property: The ID for Proximity Placement Group.
+ *
+ * @return the proximityPlacementGroupId value.
+ */
+ public String proximityPlacementGroupId() {
+ return this.innerProperties() == null ? null : this.innerProperties().proximityPlacementGroupId();
+ }
+
+ /**
+ * Set the proximityPlacementGroupId property: The ID for Proximity Placement Group.
+ *
+ * @param proximityPlacementGroupId the proximityPlacementGroupId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withProximityPlacementGroupId(String proximityPlacementGroupId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withProximityPlacementGroupId(proximityPlacementGroupId);
+ return this;
+ }
+
+ /**
+ * Get the kubeletConfig property: Kubelet configurations of agent nodes.
+ *
+ * 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 capacityReservationGroupId property: AKS will associate the specified agent pool with the Capacity
+ * Reservation Group.
+ *
+ * @return the capacityReservationGroupId value.
+ */
+ public String capacityReservationGroupId() {
+ return this.innerProperties() == null ? null : this.innerProperties().capacityReservationGroupId();
+ }
+
+ /**
+ * Set the capacityReservationGroupId property: AKS will associate the specified agent pool with the Capacity
+ * Reservation Group.
+ *
+ * @param capacityReservationGroupId the capacityReservationGroupId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withCapacityReservationGroupId(String capacityReservationGroupId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withCapacityReservationGroupId(capacityReservationGroupId);
+ 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;
+ }
+
+ /**
+ * Get the windowsProfile property: The Windows agent pool's specific profile.
+ *
+ * @return the windowsProfile value.
+ */
+ public AgentPoolWindowsProfile windowsProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().windowsProfile();
+ }
+
+ /**
+ * Set the windowsProfile property: The Windows agent pool's specific profile.
+ *
+ * @param windowsProfile the windowsProfile value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withWindowsProfile(AgentPoolWindowsProfile windowsProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withWindowsProfile(windowsProfile);
+ return this;
+ }
+
+ /**
+ * Get the networkProfile property: Network-related settings of an agent pool.
+ *
+ * @return the networkProfile value.
+ */
+ public AgentPoolNetworkProfile networkProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().networkProfile();
+ }
+
+ /**
+ * Set the networkProfile property: Network-related settings of an agent pool.
+ *
+ * @param networkProfile the networkProfile value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNetworkProfile(AgentPoolNetworkProfile networkProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withNetworkProfile(networkProfile);
+ return this;
+ }
+
+ /**
+ * Get the securityProfile property: The security settings of an agent pool.
+ *
+ * @return the securityProfile value.
+ */
+ public AgentPoolSecurityProfile securityProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().securityProfile();
+ }
+
+ /**
+ * Set the securityProfile property: The security settings of an agent pool.
+ *
+ * @param securityProfile the securityProfile value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withSecurityProfile(AgentPoolSecurityProfile securityProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withSecurityProfile(securityProfile);
+ 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 upgrades() {
+ return this.innerProperties() == null ? null : this.innerProperties().upgrades();
+ }
+
+ /**
+ * Set the upgrades property: List of orchestrator types and versions available for upgrade.
+ *
+ * @param upgrades the upgrades value to set.
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withUpgrades(List upgrades) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolUpgradeProfileProperties();
+ }
+ this.innerProperties().withUpgrades(upgrades);
+ return this;
+ }
+
+ /**
+ * Get the latestNodeImageVersion property: The latest AKS supported node image version.
+ *
+ * @return the latestNodeImageVersion value.
+ */
+ public String latestNodeImageVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().latestNodeImageVersion();
+ }
+
+ /**
+ * Set the latestNodeImageVersion property: The latest AKS supported node image version.
+ *
+ * @param latestNodeImageVersion the latestNodeImageVersion value to set.
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withLatestNodeImageVersion(String latestNodeImageVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AgentPoolUpgradeProfileProperties();
+ }
+ this.innerProperties().withLatestNodeImageVersion(latestNodeImageVersion);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model AgentPoolUpgradeProfileInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AgentPoolUpgradeProfileInner.class);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolUpgradeProfileProperties.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolUpgradeProfileProperties.java
new file mode 100644
index 0000000000000..a12860afed4eb
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/AgentPoolUpgradeProfileProperties.java
@@ -0,0 +1,150 @@
+// 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 upgrade versions. */
+@Fluent
+public final class AgentPoolUpgradeProfileProperties {
+ /*
+ * The Kubernetes version (major.minor.patch).
+ */
+ @JsonProperty(value = "kubernetesVersion", required = true)
+ private String kubernetesVersion;
+
+ /*
+ * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ */
+ @JsonProperty(value = "osType", required = true)
+ private OSType osType;
+
+ /*
+ * List of orchestrator types and versions available for upgrade.
+ */
+ @JsonProperty(value = "upgrades")
+ private List upgrades;
+
+ /*
+ * The latest AKS supported node image version.
+ */
+ @JsonProperty(value = "latestNodeImageVersion")
+ private String latestNodeImageVersion;
+
+ /** Creates an instance of AgentPoolUpgradeProfileProperties class. */
+ public AgentPoolUpgradeProfileProperties() {
+ }
+
+ /**
+ * Get the kubernetesVersion property: The Kubernetes version (major.minor.patch).
+ *
+ * @return the kubernetesVersion value.
+ */
+ public String kubernetesVersion() {
+ return this.kubernetesVersion;
+ }
+
+ /**
+ * Set the kubernetesVersion property: The Kubernetes version (major.minor.patch).
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set.
+ * @return the AgentPoolUpgradeProfileProperties object itself.
+ */
+ public AgentPoolUpgradeProfileProperties withKubernetesVersion(String kubernetesVersion) {
+ this.kubernetesVersion = 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.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 AgentPoolUpgradeProfileProperties object itself.
+ */
+ public AgentPoolUpgradeProfileProperties withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the upgrades property: List of orchestrator types and versions available for upgrade.
+ *
+ * @return the upgrades value.
+ */
+ public List upgrades() {
+ return this.upgrades;
+ }
+
+ /**
+ * Set the upgrades property: List of orchestrator types and versions available for upgrade.
+ *
+ * @param upgrades the upgrades value to set.
+ * @return the AgentPoolUpgradeProfileProperties object itself.
+ */
+ public AgentPoolUpgradeProfileProperties withUpgrades(
+ List upgrades) {
+ this.upgrades = upgrades;
+ return this;
+ }
+
+ /**
+ * Get the latestNodeImageVersion property: The latest AKS supported node image version.
+ *
+ * @return the latestNodeImageVersion value.
+ */
+ public String latestNodeImageVersion() {
+ return this.latestNodeImageVersion;
+ }
+
+ /**
+ * Set the latestNodeImageVersion property: The latest AKS supported node image version.
+ *
+ * @param latestNodeImageVersion the latestNodeImageVersion value to set.
+ * @return the AgentPoolUpgradeProfileProperties object itself.
+ */
+ public AgentPoolUpgradeProfileProperties withLatestNodeImageVersion(String latestNodeImageVersion) {
+ this.latestNodeImageVersion = latestNodeImageVersion;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (kubernetesVersion() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property kubernetesVersion in model AgentPoolUpgradeProfileProperties"));
+ }
+ if (osType() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property osType in model AgentPoolUpgradeProfileProperties"));
+ }
+ if (upgrades() != null) {
+ upgrades().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AgentPoolUpgradeProfileProperties.class);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/CommandResultProperties.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/CommandResultProperties.java
new file mode 100644
index 0000000000000..632a719b92ecd
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/CommandResultProperties.java
@@ -0,0 +1,115 @@
+// 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.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** The results of a run command. */
+@Immutable
+public final class CommandResultProperties {
+ /*
+ * provisioning State
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * The exit code of the command
+ */
+ @JsonProperty(value = "exitCode", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer exitCode;
+
+ /*
+ * The time when the command started.
+ */
+ @JsonProperty(value = "startedAt", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime startedAt;
+
+ /*
+ * The time when the command finished.
+ */
+ @JsonProperty(value = "finishedAt", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime finishedAt;
+
+ /*
+ * The command output.
+ */
+ @JsonProperty(value = "logs", access = JsonProperty.Access.WRITE_ONLY)
+ private String logs;
+
+ /*
+ * An explanation of why provisioningState is set to failed (if so).
+ */
+ @JsonProperty(value = "reason", access = JsonProperty.Access.WRITE_ONLY)
+ private String reason;
+
+ /** Creates an instance of CommandResultProperties class. */
+ public CommandResultProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: provisioning State.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the exitCode property: The exit code of the command.
+ *
+ * @return the exitCode value.
+ */
+ public Integer exitCode() {
+ return this.exitCode;
+ }
+
+ /**
+ * Get the startedAt property: The time when the command started.
+ *
+ * @return the startedAt value.
+ */
+ public OffsetDateTime startedAt() {
+ return this.startedAt;
+ }
+
+ /**
+ * Get the finishedAt property: The time when the command finished.
+ *
+ * @return the finishedAt value.
+ */
+ public OffsetDateTime finishedAt() {
+ return this.finishedAt;
+ }
+
+ /**
+ * Get the logs property: The command output.
+ *
+ * @return the logs value.
+ */
+ public String logs() {
+ return this.logs;
+ }
+
+ /**
+ * Get the reason property: An explanation of why provisioningState is set to failed (if so).
+ *
+ * @return the reason value.
+ */
+ public String reason() {
+ return this.reason;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/CredentialResultsInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/CredentialResultsInner.java
new file mode 100644
index 0000000000000..ea6044fff7cf9
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/CredentialResultsInner.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.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.CredentialResult;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list credential result response. */
+@Immutable
+public final class CredentialResultsInner {
+ /*
+ * Base64-encoded Kubernetes configuration file.
+ */
+ @JsonProperty(value = "kubeconfigs", access = JsonProperty.Access.WRITE_ONLY)
+ private List kubeconfigs;
+
+ /** Creates an instance of CredentialResultsInner class. */
+ public CredentialResultsInner() {
+ }
+
+ /**
+ * Get the kubeconfigs property: Base64-encoded Kubernetes configuration file.
+ *
+ * @return the kubeconfigs value.
+ */
+ public List kubeconfigs() {
+ return this.kubeconfigs;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (kubeconfigs() != null) {
+ kubeconfigs().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/GuardrailsAvailableVersionInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/GuardrailsAvailableVersionInner.java
new file mode 100644
index 0000000000000..8aacee042ff6a
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/GuardrailsAvailableVersionInner.java
@@ -0,0 +1,79 @@
+// 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.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.GuardrailsAvailableVersionsProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Available Guardrails Version. */
+@Fluent
+public final class GuardrailsAvailableVersionInner extends ProxyResource {
+ /*
+ * Whether the version is default or not and support info.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private GuardrailsAvailableVersionsProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of GuardrailsAvailableVersionInner class. */
+ public GuardrailsAvailableVersionInner() {
+ }
+
+ /**
+ * Get the properties property: Whether the version is default or not and support info.
+ *
+ * @return the properties value.
+ */
+ public GuardrailsAvailableVersionsProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Whether the version is default or not and support info.
+ *
+ * @param properties the properties value to set.
+ * @return the GuardrailsAvailableVersionInner object itself.
+ */
+ public GuardrailsAvailableVersionInner withProperties(GuardrailsAvailableVersionsProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property properties in model GuardrailsAvailableVersionInner"));
+ } else {
+ properties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(GuardrailsAvailableVersionInner.class);
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/KubernetesVersionListResultInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/KubernetesVersionListResultInner.java
new file mode 100644
index 0000000000000..2c0a411e50390
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/KubernetesVersionListResultInner.java
@@ -0,0 +1,55 @@
+// 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.KubernetesVersion;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Hold values properties, which is array of KubernetesVersion. */
+@Fluent
+public final class KubernetesVersionListResultInner {
+ /*
+ * Array of AKS supported Kubernetes versions.
+ */
+ @JsonProperty(value = "values")
+ private List values;
+
+ /** Creates an instance of KubernetesVersionListResultInner class. */
+ public KubernetesVersionListResultInner() {
+ }
+
+ /**
+ * Get the values property: Array of AKS supported Kubernetes versions.
+ *
+ * @return the values value.
+ */
+ public List values() {
+ return this.values;
+ }
+
+ /**
+ * Set the values property: Array of AKS supported Kubernetes versions.
+ *
+ * @param values the values value to set.
+ * @return the KubernetesVersionListResultInner object itself.
+ */
+ public KubernetesVersionListResultInner withValues(List values) {
+ this.values = values;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (values() != null) {
+ values().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/MachineInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/MachineInner.java
new file mode 100644
index 0000000000000..1cb1a352adc33
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/MachineInner.java
@@ -0,0 +1,85 @@
+// 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.SubResource;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.MachineProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A machine. Contains details about the underlying virtual machine. A machine may be visible here but not in kubectl
+ * get nodes; if so it may be because the machine has not been registered with the Kubernetes API Server yet.
+ */
+@Fluent
+public final class MachineInner extends SubResource {
+ /*
+ * The properties of the machine
+ */
+ @JsonProperty(value = "properties", access = JsonProperty.Access.WRITE_ONLY)
+ private MachineProperties properties;
+
+ /*
+ * 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 MachineInner class. */
+ public MachineInner() {
+ }
+
+ /**
+ * Get the properties property: The properties of the machine.
+ *
+ * @return the properties value.
+ */
+ public MachineProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * 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 MachineInner withId(String id) {
+ super.withId(id);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/MaintenanceConfigurationInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/MaintenanceConfigurationInner.java
new file mode 100644
index 0000000000000..b5f44c83ade38
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/MaintenanceConfigurationInner.java
@@ -0,0 +1,181 @@
+// 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.SubResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.MaintenanceWindow;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.TimeInWeek;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.TimeSpan;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.
+ *
+ * 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 timeInWeek() {
+ return this.innerProperties() == null ? null : this.innerProperties().timeInWeek();
+ }
+
+ /**
+ * Set 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.
+ *
+ * @param timeInWeek the timeInWeek value to set.
+ * @return the MaintenanceConfigurationInner object itself.
+ */
+ public MaintenanceConfigurationInner withTimeInWeek(List timeInWeek) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MaintenanceConfigurationProperties();
+ }
+ this.innerProperties().withTimeInWeek(timeInWeek);
+ return this;
+ }
+
+ /**
+ * Get the notAllowedTime property: Time slots on which upgrade is not allowed.
+ *
+ * @return the notAllowedTime value.
+ */
+ public List notAllowedTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().notAllowedTime();
+ }
+
+ /**
+ * Set the notAllowedTime property: Time slots on which upgrade is not allowed.
+ *
+ * @param notAllowedTime the notAllowedTime value to set.
+ * @return the MaintenanceConfigurationInner object itself.
+ */
+ public MaintenanceConfigurationInner withNotAllowedTime(List notAllowedTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MaintenanceConfigurationProperties();
+ }
+ this.innerProperties().withNotAllowedTime(notAllowedTime);
+ return this;
+ }
+
+ /**
+ * Get the maintenanceWindow property: Maintenance window for the maintenance configuration.
+ *
+ * @return the maintenanceWindow value.
+ */
+ public MaintenanceWindow maintenanceWindow() {
+ return this.innerProperties() == null ? null : this.innerProperties().maintenanceWindow();
+ }
+
+ /**
+ * Set the maintenanceWindow property: Maintenance window for the maintenance configuration.
+ *
+ * @param maintenanceWindow the maintenanceWindow value to set.
+ * @return the MaintenanceConfigurationInner object itself.
+ */
+ public MaintenanceConfigurationInner withMaintenanceWindow(MaintenanceWindow maintenanceWindow) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MaintenanceConfigurationProperties();
+ }
+ this.innerProperties().withMaintenanceWindow(maintenanceWindow);
+ 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/MaintenanceConfigurationProperties.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/MaintenanceConfigurationProperties.java
new file mode 100644
index 0000000000000..3f29ba7da3f9a
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/MaintenanceConfigurationProperties.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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.MaintenanceWindow;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.TimeInWeek;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.TimeSpan;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Properties used to configure planned maintenance for a Managed Cluster. */
+@Fluent
+public final class MaintenanceConfigurationProperties {
+ /*
+ * 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.
+ */
+ @JsonProperty(value = "timeInWeek")
+ private List timeInWeek;
+
+ /*
+ * Time slots on which upgrade is not allowed.
+ */
+ @JsonProperty(value = "notAllowedTime")
+ private List notAllowedTime;
+
+ /*
+ * Maintenance window for the maintenance configuration.
+ */
+ @JsonProperty(value = "maintenanceWindow")
+ private MaintenanceWindow maintenanceWindow;
+
+ /** Creates an instance of MaintenanceConfigurationProperties class. */
+ public MaintenanceConfigurationProperties() {
+ }
+
+ /**
+ * 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 timeInWeek() {
+ return this.timeInWeek;
+ }
+
+ /**
+ * Set 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.
+ *
+ * @param timeInWeek the timeInWeek value to set.
+ * @return the MaintenanceConfigurationProperties object itself.
+ */
+ public MaintenanceConfigurationProperties withTimeInWeek(List timeInWeek) {
+ this.timeInWeek = timeInWeek;
+ return this;
+ }
+
+ /**
+ * Get the notAllowedTime property: Time slots on which upgrade is not allowed.
+ *
+ * @return the notAllowedTime value.
+ */
+ public List notAllowedTime() {
+ return this.notAllowedTime;
+ }
+
+ /**
+ * Set the notAllowedTime property: Time slots on which upgrade is not allowed.
+ *
+ * @param notAllowedTime the notAllowedTime value to set.
+ * @return the MaintenanceConfigurationProperties object itself.
+ */
+ public MaintenanceConfigurationProperties withNotAllowedTime(List notAllowedTime) {
+ this.notAllowedTime = notAllowedTime;
+ return this;
+ }
+
+ /**
+ * Get the maintenanceWindow property: Maintenance window for the maintenance configuration.
+ *
+ * @return the maintenanceWindow value.
+ */
+ public MaintenanceWindow maintenanceWindow() {
+ return this.maintenanceWindow;
+ }
+
+ /**
+ * Set the maintenanceWindow property: Maintenance window for the maintenance configuration.
+ *
+ * @param maintenanceWindow the maintenanceWindow value to set.
+ * @return the MaintenanceConfigurationProperties object itself.
+ */
+ public MaintenanceConfigurationProperties withMaintenanceWindow(MaintenanceWindow maintenanceWindow) {
+ this.maintenanceWindow = maintenanceWindow;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (timeInWeek() != null) {
+ timeInWeek().forEach(e -> e.validate());
+ }
+ if (notAllowedTime() != null) {
+ notAllowedTime().forEach(e -> e.validate());
+ }
+ if (maintenanceWindow() != null) {
+ maintenanceWindow().validate();
+ }
+ }
+}
diff --git a/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterAccessProfileInner.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterAccessProfileInner.java
new file mode 100644
index 0000000000000..a464d6194b869
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterAccessProfileInner.java
@@ -0,0 +1,97 @@
+// 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.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Managed cluster Access Profile. */
+@Fluent
+public final class ManagedClusterAccessProfileInner extends Resource {
+ /*
+ * AccessProfile of a managed cluster.
+ */
+ @JsonProperty(value = "properties")
+ private AccessProfile 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 ManagedClusterAccessProfileInner class. */
+ public ManagedClusterAccessProfileInner() {
+ }
+
+ /**
+ * Get the innerProperties property: AccessProfile of a managed cluster.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessProfile 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 ManagedClusterAccessProfileInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ManagedClusterAccessProfileInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the kubeConfig property: Base64-encoded Kubernetes configuration file.
+ *
+ * @return the kubeConfig value.
+ */
+ public byte[] kubeConfig() {
+ return this.innerProperties() == null ? new byte[0] : this.innerProperties().kubeConfig();
+ }
+
+ /**
+ * Set the kubeConfig property: Base64-encoded Kubernetes configuration file.
+ *
+ * @param kubeConfig the kubeConfig value to set.
+ * @return the ManagedClusterAccessProfileInner object itself.
+ */
+ public ManagedClusterAccessProfileInner withKubeConfig(byte[] kubeConfig) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessProfile();
+ }
+ this.innerProperties().withKubeConfig(kubeConfig);
+ 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/ManagedClusterAgentPoolProfileProperties.java b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterAgentPoolProfileProperties.java
new file mode 100644
index 0000000000000..e426bda788187
--- /dev/null
+++ b/sdk/containerservicemicrosoftcontainerserviceaks/azure-resourcemanager-containerservicemicrosoftcontainerserviceaks-generated/src/main/java/com/azure/resourcemanager/containerservicemicrosoftcontainerserviceaks/generated/fluent/models/ManagedClusterAgentPoolProfileProperties.java
@@ -0,0 +1,1517 @@
+// 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.AgentPoolMode;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolNetworkProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolSecurityProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolType;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolUpgradeSettings;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.AgentPoolWindowsProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.CreationData;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.GpuInstanceProfile;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.KubeletConfig;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.KubeletDiskType;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.LinuxOSConfig;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.OSDiskType;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.OSType;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.Ossku;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.PowerState;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ScaleDownMode;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ScaleSetEvictionPolicy;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.ScaleSetPriority;
+import com.azure.resourcemanager.containerservicemicrosoftcontainerserviceaks.generated.models.WorkloadRuntime;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Properties for the container service agent pool profile. */
+@Fluent
+public class ManagedClusterAgentPoolProfileProperties {
+ /*
+ * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive)
+ * for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1.
+ */
+ @JsonProperty(value = "count")
+ private Integer count;
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "vmSize")
+ private String vmSize;
+
+ /*
+ * 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.
+ */
+ @JsonProperty(value = "osDiskSizeGB")
+ private Integer osDiskSizeGB;
+
+ /*
+ * 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).
+ */
+ @JsonProperty(value = "osDiskType")
+ private OSDiskType osDiskType;
+
+ /*
+ * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.
+ */
+ @JsonProperty(value = "kubeletDiskType")
+ private KubeletDiskType kubeletDiskType;
+
+ /*
+ * Determines the type of workload a node can run.
+ */
+ @JsonProperty(value = "workloadRuntime")
+ private WorkloadRuntime workloadRuntime;
+
+ /*
+ * Message of the day for Linux nodes, base64-encoded.
+ *
+ * A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the
+ * message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string
+ * (i.e., will be printed raw and not be executed as a script).
+ */
+ @JsonProperty(value = "messageOfTheDay")
+ private String messageOfTheDay;
+
+ /*
+ * 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}
+ */
+ @JsonProperty(value = "vnetSubnetID")
+ private String vnetSubnetId;
+
+ /*
+ * 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}
+ */
+ @JsonProperty(value = "podSubnetID")
+ private String podSubnetId;
+
+ /*
+ * The maximum number of pods that can run on a node.
+ */
+ @JsonProperty(value = "maxPods")
+ private Integer maxPods;
+
+ /*
+ * OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ */
+ @JsonProperty(value = "osType")
+ private OSType osType;
+
+ /*
+ * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or
+ * Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is
+ * deprecated.
+ */
+ @JsonProperty(value = "osSKU")
+ private Ossku osSku;
+
+ /*
+ * The maximum number of nodes for auto-scaling
+ */
+ @JsonProperty(value = "maxCount")
+ private Integer maxCount;
+
+ /*
+ * The minimum number of nodes for auto-scaling
+ */
+ @JsonProperty(value = "minCount")
+ private Integer minCount;
+
+ /*
+ * Whether to enable auto-scaler
+ */
+ @JsonProperty(value = "enableAutoScaling")
+ private Boolean enableAutoScaling;
+
+ /*
+ * This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.
+ */
+ @JsonProperty(value = "scaleDownMode")
+ private ScaleDownMode scaleDownMode;
+
+ /*
+ * The type of Agent Pool.
+ */
+ @JsonProperty(value = "type")
+ private AgentPoolType type;
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "mode")
+ private AgentPoolMode mode;
+
+ /*
+ * The version of Kubernetes specified by the user.
+ *
+ * Both patch version and are supported. When is specified, the
+ * latest supported patch version is chosen automatically. Updating the agent pool with the same once
+ * it has been created 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).
+ */
+ @JsonProperty(value = "orchestratorVersion")
+ private String orchestratorVersion;
+
+ /*
+ * The version of Kubernetes running on the Agent Pool.
+ *
+ * If orchestratorVersion was a fully specified version , this field will be exactly equal to
+ * it. If orchestratorVersion was , this field will contain the full version being
+ * used.
+ */
+ @JsonProperty(value = "currentOrchestratorVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String currentOrchestratorVersion;
+
+ /*
+ * The version of node image
+ */
+ @JsonProperty(value = "nodeImageVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String nodeImageVersion;
+
+ /*
+ * Settings for upgrading the agentpool
+ */
+ @JsonProperty(value = "upgradeSettings")
+ private AgentPoolUpgradeSettings upgradeSettings;
+
+ /*
+ * The current deployment or provisioning state.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "powerState")
+ private PowerState powerState;
+
+ /*
+ * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is
+ * 'VirtualMachineScaleSets'.
+ */
+ @JsonProperty(value = "availabilityZones")
+ private List availabilityZones;
+
+ /*
+ * 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.
+ */
+ @JsonProperty(value = "enableNodePublicIP")
+ private Boolean enableNodePublicIp;
+
+ /*
+ * Whether to enable Custom CA Trust feature.
+ *
+ * When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset
+ * along with host services to sync custom certificate authorities from user-provided list of base64 encoded
+ * certificates into node trust stores. Defaults to false.
+ */
+ @JsonProperty(value = "enableCustomCATrust")
+ private Boolean enableCustomCATrust;
+
+ /*
+ * 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}
+ */
+ @JsonProperty(value = "nodePublicIPPrefixID")
+ private String nodePublicIpPrefixId;
+
+ /*
+ * The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'.
+ */
+ @JsonProperty(value = "scaleSetPriority")
+ private ScaleSetPriority scaleSetPriority;
+
+ /*
+ * The Virtual Machine Scale Set eviction policy.
+ *
+ * This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'.
+ */
+ @JsonProperty(value = "scaleSetEvictionPolicy")
+ private ScaleSetEvictionPolicy scaleSetEvictionPolicy;
+
+ /*
+ * 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)
+ */
+ @JsonProperty(value = "spotMaxPrice")
+ private Float spotMaxPrice;
+
+ /*
+ * The tags to be persisted on the agent pool virtual machine scale set.
+ */
+ @JsonProperty(value = "tags")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map tags;
+
+ /*
+ * The node labels to be persisted across all nodes in agent pool.
+ */
+ @JsonProperty(value = "nodeLabels")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map nodeLabels;
+
+ /*
+ * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.
+ */
+ @JsonProperty(value = "nodeTaints")
+ private List nodeTaints;
+
+ /*
+ * The ID for Proximity Placement Group.
+ */
+ @JsonProperty(value = "proximityPlacementGroupID")
+ private String proximityPlacementGroupId;
+
+ /*
+ * Kubelet configurations of agent nodes.
+ *
+ * The Kubelet configuration on the agent pool nodes.
+ */
+ @JsonProperty(value = "kubeletConfig")
+ private KubeletConfig kubeletConfig;
+
+ /*
+ * OS configurations of Linux agent nodes.
+ *
+ * The OS configuration of Linux agent nodes.
+ */
+ @JsonProperty(value = "linuxOSConfig")
+ private LinuxOSConfig linuxOSConfig;
+
+ /*
+ * 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
+ */
+ @JsonProperty(value = "enableEncryptionAtHost")
+ private Boolean enableEncryptionAtHost;
+
+ /*
+ * Whether to enable UltraSSD
+ */
+ @JsonProperty(value = "enableUltraSSD")
+ private Boolean enableUltraSsd;
+
+ /*
+ * 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.
+ */
+ @JsonProperty(value = "enableFIPS")
+ private Boolean enableFips;
+
+ /*
+ * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.
+ */
+ @JsonProperty(value = "gpuInstanceProfile")
+ private GpuInstanceProfile gpuInstanceProfile;
+
+ /*
+ * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a
+ * snapshot.
+ */
+ @JsonProperty(value = "creationData")
+ private CreationData creationData;
+
+ /*
+ * AKS will associate the specified agent pool with the Capacity Reservation Group.
+ */
+ @JsonProperty(value = "capacityReservationGroupID")
+ private String capacityReservationGroupId;
+
+ /*
+ * 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).
+ */
+ @JsonProperty(value = "hostGroupID")
+ private String hostGroupId;
+
+ /*
+ * The Windows agent pool's specific profile.
+ */
+ @JsonProperty(value = "windowsProfile")
+ private AgentPoolWindowsProfile windowsProfile;
+
+ /*
+ * Network-related settings of an agent pool.
+ */
+ @JsonProperty(value = "networkProfile")
+ private AgentPoolNetworkProfile networkProfile;
+
+ /*
+ * The security settings of an agent pool.
+ */
+ @JsonProperty(value = "securityProfile")
+ private AgentPoolSecurityProfile securityProfile;
+
+ /** Creates an instance of ManagedClusterAgentPoolProfileProperties class. */
+ public ManagedClusterAgentPoolProfileProperties() {
+ }
+
+ /**
+ * Get the count property: Number of agents (VMs) to host docker containers. Allowed values must be in the range of
+ * 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default
+ * value is 1.
+ *
+ * @return the count value.
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Set the count property: Number of agents (VMs) to host docker containers. Allowed values must be in the range of
+ * 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default
+ * value is 1.
+ *
+ * @param count the count value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withCount(Integer count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get 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.
+ *
+ * @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 messageOfTheDay property: Message of the day for Linux nodes, base64-encoded.
+ *
+ *
A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the
+ * message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e.,
+ * will be printed raw and not be executed as a script).
+ *
+ * @return the messageOfTheDay value.
+ */
+ public String messageOfTheDay() {
+ return this.messageOfTheDay;
+ }
+
+ /**
+ * Set the messageOfTheDay property: Message of the day for Linux nodes, base64-encoded.
+ *
+ *
A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the
+ * message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e.,
+ * will be printed raw and not be executed as a script).
+ *
+ * @param messageOfTheDay the messageOfTheDay value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withMessageOfTheDay(String messageOfTheDay) {
+ this.messageOfTheDay = messageOfTheDay;
+ 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. If not specified, the default is Ubuntu if
+ * OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after
+ * Windows2019 is deprecated.
+ *
+ * @return the osSku value.
+ */
+ public Ossku osSku() {
+ return this.osSku;
+ }
+
+ /**
+ * Set the osSku property: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if
+ * OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after
+ * Windows2019 is deprecated.
+ *
+ * @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> and <major.minor> are supported. When <major.minor>
+ * is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same
+ * <major.minor> once it has been created 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> and <major.minor> are supported. When <major.minor>
+ * is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same
+ * <major.minor> once it has been created 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 running on the Agent Pool.
+ *
+ *
If orchestratorVersion was a fully specified version <major.minor.patch>, this field will be exactly
+ * equal to it. If orchestratorVersion was <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 availabilityZones() {
+ return this.availabilityZones;
+ }
+
+ /**
+ * Set the availabilityZones property: The list of Availability zones to use for nodes. This can only be specified
+ * if the AgentPoolType property is 'VirtualMachineScaleSets'.
+ *
+ * @param availabilityZones the availabilityZones value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withAvailabilityZones(List availabilityZones) {
+ this.availabilityZones = availabilityZones;
+ return this;
+ }
+
+ /**
+ * Get 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.
+ *
+ * @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 enableCustomCATrust property: Whether to enable Custom CA Trust feature.
+ *
+ *
When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset
+ * along with host services to sync custom certificate authorities from user-provided list of base64 encoded
+ * certificates into node trust stores. Defaults to false.
+ *
+ * @return the enableCustomCATrust value.
+ */
+ public Boolean enableCustomCATrust() {
+ return this.enableCustomCATrust;
+ }
+
+ /**
+ * Set the enableCustomCATrust property: Whether to enable Custom CA Trust feature.
+ *
+ *
When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset
+ * along with host services to sync custom certificate authorities from user-provided list of base64 encoded
+ * certificates into node trust stores. Defaults to false.
+ *
+ * @param enableCustomCATrust the enableCustomCATrust value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableCustomCATrust(Boolean enableCustomCATrust) {
+ this.enableCustomCATrust = enableCustomCATrust;
+ 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