diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/CHANGELOG.md b/sdk/containerservice/azure-resourcemanager-containerservice/CHANGELOG.md
index a511c809d59c..a3710f01aa95 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/CHANGELOG.md
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/CHANGELOG.md
@@ -1,15 +1,17 @@
# Release History
-## 2.60.0-beta.1 (Unreleased)
-
-### Features Added
-
-### Breaking Changes
+## 2.60.0-beta.1 (2026-04-21)
### Bugs Fixed
+- Fixed bug that `nodeImageVersion` was not settable in `ManagedClusterAgentPoolProfileProperties`.
+
### Other Changes
+#### Dependency Updates
+
+- Updated `api-version` to `2026-02-02-preview`.
+
## 2.59.0 (2026-04-20)
### Other Changes
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/README.md b/sdk/containerservice/azure-resourcemanager-containerservice/README.md
index 9dad3602ab9a..af00bdc97fdd 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/README.md
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/README.md
@@ -18,7 +18,7 @@ For documentation on how to use this package, please see [Azure Management Libra
com.azure.resourcemanager
azure-resourcemanager-containerservice
- 2.59.0
+ 2.60.0-beta.1
```
[//]: # ({x-version-update-end})
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/pom.xml b/sdk/containerservice/azure-resourcemanager-containerservice/pom.xml
index 5e00ab62b328..647ec95f9bd2 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/pom.xml
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/pom.xml
@@ -42,6 +42,7 @@
--add-opens com.azure.core/com.azure.core.implementation.util=ALL-UNNAMED
+ true
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/AgentPoolsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/AgentPoolsClient.java
index b2a610735e62..4f377830d98b 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/AgentPoolsClient.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/AgentPoolsClient.java
@@ -559,6 +559,122 @@ SyncPoller, Void> beginAbortLatestOperation(String resourceGrou
@ServiceMethod(returns = ReturnType.SINGLE)
void abortLatestOperation(String resourceGroupName, String resourceName, String agentPoolName, Context context);
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> completeUpgradeWithResponseAsync(String resourceGroupName, String resourceName,
+ String agentPoolName);
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, Void> beginCompleteUpgradeAsync(String resourceGroupName, String resourceName,
+ String agentPoolName);
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginCompleteUpgrade(String resourceGroupName, String resourceName,
+ String agentPoolName);
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginCompleteUpgrade(String resourceGroupName, String resourceName,
+ String agentPoolName, Context context);
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono completeUpgradeAsync(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void completeUpgrade(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void completeUpgrade(String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
/**
* Deletes specific machines in an agent pool.
*
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ContainerServiceManagementClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ContainerServiceManagementClient.java
index adb22e304ca4..0e8a13116c44 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ContainerServiceManagementClient.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ContainerServiceManagementClient.java
@@ -95,6 +95,13 @@ public interface ContainerServiceManagementClient {
*/
SnapshotsClient getSnapshots();
+ /**
+ * Gets the ManagedClusterSnapshotsClient object to access its operations.
+ *
+ * @return the ManagedClusterSnapshotsClient object.
+ */
+ ManagedClusterSnapshotsClient getManagedClusterSnapshots();
+
/**
* Gets the TrustedAccessRoleBindingsClient object to access its operations.
*
@@ -102,6 +109,34 @@ public interface ContainerServiceManagementClient {
*/
TrustedAccessRoleBindingsClient getTrustedAccessRoleBindings();
+ /**
+ * Gets the LoadBalancersClient object to access its operations.
+ *
+ * @return the LoadBalancersClient object.
+ */
+ LoadBalancersClient getLoadBalancers();
+
+ /**
+ * Gets the IdentityBindingsClient object to access its operations.
+ *
+ * @return the IdentityBindingsClient object.
+ */
+ IdentityBindingsClient getIdentityBindings();
+
+ /**
+ * Gets the JWTAuthenticatorsClient object to access its operations.
+ *
+ * @return the JWTAuthenticatorsClient object.
+ */
+ JWTAuthenticatorsClient getJWTAuthenticators();
+
+ /**
+ * Gets the MeshMembershipsClient object to access its operations.
+ *
+ * @return the MeshMembershipsClient object.
+ */
+ MeshMembershipsClient getMeshMemberships();
+
/**
* Gets the OperationsClient object to access its operations.
*
@@ -109,6 +144,13 @@ public interface ContainerServiceManagementClient {
*/
OperationsClient getOperations();
+ /**
+ * Gets the OperationStatusResultsClient object to access its operations.
+ *
+ * @return the OperationStatusResultsClient object.
+ */
+ OperationStatusResultsClient getOperationStatusResults();
+
/**
* Gets the PrivateLinkResourcesClient object to access its operations.
*
@@ -129,4 +171,11 @@ public interface ContainerServiceManagementClient {
* @return the TrustedAccessRolesClient object.
*/
TrustedAccessRolesClient getTrustedAccessRoles();
+
+ /**
+ * Gets the VmSkusClient object to access its operations.
+ *
+ * @return the VmSkusClient object.
+ */
+ VmSkusClient getVmSkus();
}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/IdentityBindingsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/IdentityBindingsClient.java
new file mode 100644
index 000000000000..8d38a54ea193
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/IdentityBindingsClient.java
@@ -0,0 +1,343 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedFlux;
+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.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.fluent.models.IdentityBindingInner;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in IdentityBindingsClient.
+ */
+public interface IdentityBindingsClient {
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity 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 specified Identity Binding along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getWithResponseAsync(String resourceGroupName, String resourceName,
+ String identityBindingName);
+
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity 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 specified Identity Binding on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getAsync(String resourceGroupName, String resourceName, String identityBindingName);
+
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity 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 specified Identity Binding along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String resourceName,
+ String identityBindingName, Context context);
+
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity 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 specified Identity Binding.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IdentityBindingInner get(String resourceGroupName, String resourceName, String identityBindingName);
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding 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 IdentityBinding resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> createOrUpdateWithResponseAsync(String resourceGroupName, String resourceName,
+ String identityBindingName, IdentityBindingInner parameters);
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding 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 PollerFlux} for polling of the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, IdentityBindingInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String resourceName, String identityBindingName, IdentityBindingInner parameters);
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding 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 the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, IdentityBindingInner> beginCreateOrUpdate(String resourceGroupName,
+ String resourceName, String identityBindingName, IdentityBindingInner parameters);
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding 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 the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, IdentityBindingInner> beginCreateOrUpdate(String resourceGroupName,
+ String resourceName, String identityBindingName, IdentityBindingInner parameters, Context context);
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding 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 IdentityBinding resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono createOrUpdateAsync(String resourceGroupName, String resourceName,
+ String identityBindingName, IdentityBindingInner parameters);
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding 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 IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IdentityBindingInner createOrUpdate(String resourceGroupName, String resourceName, String identityBindingName,
+ IdentityBindingInner parameters);
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding 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 IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IdentityBindingInner createOrUpdate(String resourceGroupName, String resourceName, String identityBindingName,
+ IdentityBindingInner parameters, Context context);
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity 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 Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> deleteWithResponseAsync(String resourceGroupName, String resourceName,
+ String identityBindingName);
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity 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 PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String resourceName,
+ String identityBindingName);
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity 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 identityBindingName);
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity 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 identityBindingName, Context context);
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity 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 {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono deleteAsync(String resourceGroupName, String resourceName, String identityBindingName);
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity 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 identityBindingName);
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity 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 identityBindingName, Context context);
+
+ /**
+ * Gets a list of identity bindings 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 identity bindings in the specified managed cluster as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listByManagedClusterAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a list of identity bindings 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 identity bindings 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 identity bindings 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 identity bindings in the specified managed cluster as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByManagedCluster(String resourceGroupName, String resourceName,
+ Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/JWTAuthenticatorsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/JWTAuthenticatorsClient.java
new file mode 100644
index 000000000000..53512b9a8a2f
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/JWTAuthenticatorsClient.java
@@ -0,0 +1,352 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedFlux;
+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.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.fluent.models.JWTAuthenticatorInner;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in JWTAuthenticatorsClient.
+ */
+public interface JWTAuthenticatorsClient {
+ /**
+ * Gets the specified JWT authenticator 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 jwtAuthenticatorName The name of the JWT authenticator.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 JWT authenticator of a managed cluster along with {@link Response} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getWithResponseAsync(String resourceGroupName, String resourceName,
+ String jwtAuthenticatorName);
+
+ /**
+ * Gets the specified JWT authenticator 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 jwtAuthenticatorName The name of the JWT authenticator.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 JWT authenticator of a managed cluster on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getAsync(String resourceGroupName, String resourceName, String jwtAuthenticatorName);
+
+ /**
+ * Gets the specified JWT authenticator 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 jwtAuthenticatorName The name of the JWT authenticator.
+ * @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 JWT authenticator of a managed cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String resourceName,
+ String jwtAuthenticatorName, Context context);
+
+ /**
+ * Gets the specified JWT authenticator 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 jwtAuthenticatorName The name of the JWT authenticator.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 JWT authenticator of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JWTAuthenticatorInner get(String resourceGroupName, String resourceName, String jwtAuthenticatorName);
+
+ /**
+ * Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the
+ * settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @param parameters The JWT authenticator 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 configuration for JWT authenticator in the managed cluster along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> createOrUpdateWithResponseAsync(String resourceGroupName, String resourceName,
+ String jwtAuthenticatorName, JWTAuthenticatorInner parameters);
+
+ /**
+ * Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the
+ * settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @param parameters The JWT authenticator 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 PollerFlux} for polling of configuration for JWT authenticator in the managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, JWTAuthenticatorInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String resourceName, String jwtAuthenticatorName, JWTAuthenticatorInner parameters);
+
+ /**
+ * Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the
+ * settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @param parameters The JWT authenticator 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 configuration for JWT authenticator in the managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, JWTAuthenticatorInner> beginCreateOrUpdate(String resourceGroupName,
+ String resourceName, String jwtAuthenticatorName, JWTAuthenticatorInner parameters);
+
+ /**
+ * Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the
+ * settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @param parameters The JWT authenticator 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 configuration for JWT authenticator in the managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, JWTAuthenticatorInner> beginCreateOrUpdate(String resourceGroupName,
+ String resourceName, String jwtAuthenticatorName, JWTAuthenticatorInner parameters, Context context);
+
+ /**
+ * Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the
+ * settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @param parameters The JWT authenticator 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 configuration for JWT authenticator in the managed cluster on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono createOrUpdateAsync(String resourceGroupName, String resourceName,
+ String jwtAuthenticatorName, JWTAuthenticatorInner parameters);
+
+ /**
+ * Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the
+ * settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @param parameters The JWT authenticator 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 configuration for JWT authenticator in the managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JWTAuthenticatorInner createOrUpdate(String resourceGroupName, String resourceName, String jwtAuthenticatorName,
+ JWTAuthenticatorInner parameters);
+
+ /**
+ * Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the
+ * settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @param parameters The JWT authenticator 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 configuration for JWT authenticator in the managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JWTAuthenticatorInner createOrUpdate(String resourceGroupName, String resourceName, String jwtAuthenticatorName,
+ JWTAuthenticatorInner parameters, Context context);
+
+ /**
+ * Deletes a JWT authenticator and updates the managed cluster to apply the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> deleteWithResponseAsync(String resourceGroupName, String resourceName,
+ String jwtAuthenticatorName);
+
+ /**
+ * Deletes a JWT authenticator and updates the managed cluster to apply the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String resourceName,
+ String jwtAuthenticatorName);
+
+ /**
+ * Deletes a JWT authenticator and updates the managed cluster to apply the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 jwtAuthenticatorName);
+
+ /**
+ * Deletes a JWT authenticator and updates the managed cluster to apply the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @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 jwtAuthenticatorName, Context context);
+
+ /**
+ * Deletes a JWT authenticator and updates the managed cluster to apply the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono deleteAsync(String resourceGroupName, String resourceName, String jwtAuthenticatorName);
+
+ /**
+ * Deletes a JWT authenticator and updates the managed cluster to apply the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 jwtAuthenticatorName);
+
+ /**
+ * Deletes a JWT authenticator and updates the managed cluster to apply the settings.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param jwtAuthenticatorName The name of the JWT authenticator.
+ * @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 jwtAuthenticatorName, Context context);
+
+ /**
+ * Gets a list of JWT authenticators 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 JWT authenticators in the specified managed cluster as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listByManagedClusterAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a list of JWT authenticators 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 JWT authenticators 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 JWT authenticators 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 JWT authenticators in the specified managed cluster as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByManagedCluster(String resourceGroupName, String resourceName,
+ Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/LoadBalancersClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/LoadBalancersClient.java
new file mode 100644
index 000000000000..8ea00137dede
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/LoadBalancersClient.java
@@ -0,0 +1,294 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedFlux;
+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.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.fluent.models.LoadBalancerInner;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in LoadBalancersClient.
+ */
+public interface LoadBalancersClient {
+ /**
+ * Gets the specified load balancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param loadBalancerName The name of the load balancer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 load balancer along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getWithResponseAsync(String resourceGroupName, String resourceName,
+ String loadBalancerName);
+
+ /**
+ * Gets the specified load balancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param loadBalancerName The name of the load balancer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 load balancer on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getAsync(String resourceGroupName, String resourceName, String loadBalancerName);
+
+ /**
+ * Gets the specified load balancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param loadBalancerName The name of the load balancer.
+ * @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 load balancer along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String resourceName, String loadBalancerName,
+ Context context);
+
+ /**
+ * Gets the specified load balancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param loadBalancerName The name of the load balancer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 load balancer.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LoadBalancerInner get(String resourceGroupName, String resourceName, String loadBalancerName);
+
+ /**
+ * Creates or updates a load balancer 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 loadBalancerName The name of the load balancer.
+ * @param parameters The load balancer 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 configurations regarding multiple standard load balancers along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> createOrUpdateWithResponseAsync(String resourceGroupName, String resourceName,
+ String loadBalancerName, LoadBalancerInner parameters);
+
+ /**
+ * Creates or updates a load balancer 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 loadBalancerName The name of the load balancer.
+ * @param parameters The load balancer 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 configurations regarding multiple standard load balancers on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono createOrUpdateAsync(String resourceGroupName, String resourceName, String loadBalancerName,
+ LoadBalancerInner parameters);
+
+ /**
+ * Creates or updates a load balancer 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 loadBalancerName The name of the load balancer.
+ * @param parameters The load balancer 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 configurations regarding multiple standard load balancers along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String resourceName,
+ String loadBalancerName, LoadBalancerInner parameters, Context context);
+
+ /**
+ * Creates or updates a load balancer 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 loadBalancerName The name of the load balancer.
+ * @param parameters The load balancer 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 configurations regarding multiple standard load balancers.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LoadBalancerInner createOrUpdate(String resourceGroupName, String resourceName, String loadBalancerName,
+ LoadBalancerInner parameters);
+
+ /**
+ * Deletes a load balancer 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 loadBalancerName The name of the load balancer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> deleteWithResponseAsync(String resourceGroupName, String resourceName,
+ String loadBalancerName);
+
+ /**
+ * Deletes a load balancer 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 loadBalancerName The name of the load balancer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String resourceName,
+ String loadBalancerName);
+
+ /**
+ * Deletes a load balancer 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 loadBalancerName The name of the load balancer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 loadBalancerName);
+
+ /**
+ * Deletes a load balancer 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 loadBalancerName The name of the load balancer.
+ * @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 loadBalancerName, Context context);
+
+ /**
+ * Deletes a load balancer 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 loadBalancerName The name of the load balancer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono deleteAsync(String resourceGroupName, String resourceName, String loadBalancerName);
+
+ /**
+ * Deletes a load balancer 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 loadBalancerName The name of the load balancer.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 loadBalancerName);
+
+ /**
+ * Deletes a load balancer 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 loadBalancerName The name of the load balancer.
+ * @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 loadBalancerName, Context context);
+
+ /**
+ * Gets a list of load balancers 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 load balancers in the specified managed cluster as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listByManagedClusterAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a list of load balancers 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 load balancers 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 load balancers 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 load balancers in the specified managed cluster as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByManagedCluster(String resourceGroupName, String resourceName,
+ Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/MachinesClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/MachinesClient.java
index 9a9d7edbf868..ab05fe893168 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/MachinesClient.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/MachinesClient.java
@@ -9,8 +9,13 @@
import com.azure.core.http.rest.PagedFlux;
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.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
import com.azure.resourcemanager.containerservice.fluent.models.MachineInner;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
/**
@@ -82,6 +87,173 @@ Response getWithResponse(String resourceGroupName, String resource
@ServiceMethod(returns = ReturnType.SINGLE)
MachineInner get(String resourceGroupName, String resourceName, String agentPoolName, String machineName);
+ /**
+ * Creates or updates a 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 parameters The machine to create or update.
+ * @param ifMatch The request should only proceed if an entity matches this string.
+ * @param ifNoneMatch The request should only proceed if no entity matches this string.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 machine along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> createOrUpdateWithResponseAsync(String resourceGroupName, String resourceName,
+ String agentPoolName, String machineName, MachineInner parameters, String ifMatch, String ifNoneMatch);
+
+ /**
+ * Creates or updates a 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 parameters The machine to create or update.
+ * @param ifMatch The request should only proceed if an entity matches this string.
+ * @param ifNoneMatch The request should only proceed if no entity matches this string.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of a machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, MachineInner> beginCreateOrUpdateAsync(String resourceGroupName,
+ String resourceName, String agentPoolName, String machineName, MachineInner parameters, String ifMatch,
+ String ifNoneMatch);
+
+ /**
+ * Creates or updates a 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 parameters The machine 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 PollerFlux} for polling of a machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, MachineInner> beginCreateOrUpdateAsync(String resourceGroupName,
+ String resourceName, String agentPoolName, String machineName, MachineInner parameters);
+
+ /**
+ * Creates or updates a 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 parameters The machine 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 a machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MachineInner> beginCreateOrUpdate(String resourceGroupName,
+ String resourceName, String agentPoolName, String machineName, MachineInner parameters);
+
+ /**
+ * Creates or updates a 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 parameters The machine to create or update.
+ * @param ifMatch The request should only proceed if an entity matches this string.
+ * @param ifNoneMatch The request should only proceed if no entity matches this string.
+ * @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 a machine.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MachineInner> beginCreateOrUpdate(String resourceGroupName,
+ String resourceName, String agentPoolName, String machineName, MachineInner parameters, String ifMatch,
+ String ifNoneMatch, Context context);
+
+ /**
+ * Creates or updates a 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 parameters The machine to create or update.
+ * @param ifMatch The request should only proceed if an entity matches this string.
+ * @param ifNoneMatch The request should only proceed if no entity matches this string.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 machine on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono createOrUpdateAsync(String resourceGroupName, String resourceName, String agentPoolName,
+ String machineName, MachineInner parameters, String ifMatch, String ifNoneMatch);
+
+ /**
+ * Creates or updates a 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 parameters The machine 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 machine on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono createOrUpdateAsync(String resourceGroupName, String resourceName, String agentPoolName,
+ String machineName, MachineInner parameters);
+
+ /**
+ * Creates or updates a 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 parameters The machine 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 machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineInner createOrUpdate(String resourceGroupName, String resourceName, String agentPoolName, String machineName,
+ MachineInner parameters);
+
+ /**
+ * Creates or updates a 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 parameters The machine to create or update.
+ * @param ifMatch The request should only proceed if an entity matches this string.
+ * @param ifNoneMatch The request should only proceed if no entity matches this string.
+ * @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 machine.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineInner createOrUpdate(String resourceGroupName, String resourceName, String agentPoolName, String machineName,
+ MachineInner parameters, String ifMatch, String ifNoneMatch, Context context);
+
/**
* Gets a list of machines in the specified agent pool.
*
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ManagedClusterSnapshotsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ManagedClusterSnapshotsClient.java
new file mode 100644
index 000000000000..f9298cecaeaa
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ManagedClusterSnapshotsClient.java
@@ -0,0 +1,324 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservice.fluent.models.ManagedClusterSnapshotInner;
+import com.azure.resourcemanager.containerservice.models.TagsObject;
+import com.azure.resourcemanager.resources.fluentcore.collection.InnerSupportsDelete;
+import com.azure.resourcemanager.resources.fluentcore.collection.InnerSupportsGet;
+import com.azure.resourcemanager.resources.fluentcore.collection.InnerSupportsListing;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in ManagedClusterSnapshotsClient.
+ */
+public interface ManagedClusterSnapshotsClient extends InnerSupportsGet,
+ InnerSupportsListing, InnerSupportsDelete {
+ /**
+ * 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 along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getByResourceGroupWithResponseAsync(String resourceGroupName,
+ String resourceName);
+
+ /**
+ * 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 on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getByResourceGroupAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String resourceName, ManagedClusterSnapshotInner parameters);
+
+ /**
+ * 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 on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono createOrUpdateAsync(String resourceGroupName, String resourceName,
+ ManagedClusterSnapshotInner parameters);
+
+ /**
+ * 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> updateTagsWithResponseAsync(String resourceGroupName,
+ String resourceName, TagsObject 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono updateTagsAsync(String resourceGroupName, String resourceName,
+ TagsObject 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> deleteWithResponseAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * 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.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono deleteAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * 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);
+
+ /**
+ * 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 of a ManagedClusterSnapshot list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listByResourceGroupAsync(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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 of a ManagedClusterSnapshot list 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 of a ManagedClusterSnapshot list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * 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 PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listAsync();
+
+ /**
+ * 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);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ManagedClustersClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ManagedClustersClient.java
index a512c37ee51f..438f59d48203 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ManagedClustersClient.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/ManagedClustersClient.java
@@ -14,18 +14,22 @@
import com.azure.core.util.polling.PollerFlux;
import com.azure.core.util.polling.SyncPoller;
import com.azure.resourcemanager.containerservice.fluent.models.CredentialResultsInner;
+import com.azure.resourcemanager.containerservice.fluent.models.GuardrailsAvailableVersionInner;
import com.azure.resourcemanager.containerservice.fluent.models.KubernetesVersionListResultInner;
import com.azure.resourcemanager.containerservice.fluent.models.ManagedClusterAccessProfileInner;
import com.azure.resourcemanager.containerservice.fluent.models.ManagedClusterInner;
import com.azure.resourcemanager.containerservice.fluent.models.ManagedClusterUpgradeProfileInner;
import com.azure.resourcemanager.containerservice.fluent.models.MeshRevisionProfileInner;
import com.azure.resourcemanager.containerservice.fluent.models.MeshUpgradeProfileInner;
+import com.azure.resourcemanager.containerservice.fluent.models.NodeImageVersionInner;
import com.azure.resourcemanager.containerservice.fluent.models.OutboundEnvironmentEndpointInner;
import com.azure.resourcemanager.containerservice.fluent.models.RunCommandResultInner;
+import com.azure.resourcemanager.containerservice.fluent.models.SafeguardsAvailableVersionInner;
import com.azure.resourcemanager.containerservice.models.Format;
import com.azure.resourcemanager.containerservice.models.ManagedClusterAadProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterServicePrincipalProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClustersGetCommandResultResponse;
+import com.azure.resourcemanager.containerservice.models.RebalanceLoadBalancersRequestBody;
import com.azure.resourcemanager.containerservice.models.RunCommandRequest;
import com.azure.resourcemanager.containerservice.models.TagsObject;
import com.azure.resourcemanager.resources.fluentcore.collection.InnerSupportsDelete;
@@ -387,6 +391,8 @@ ManagedClusterInner updateTags(String resourceGroupName, String resourceName, Ta
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param resourceName The name of the managed cluster resource.
* @param ifMatch The request should only proceed if an entity matches this string.
+ * @param ignorePodDisruptionBudget ignore-pod-disruption-budget=true to delete those pods on a node without
+ * considering Pod Disruption Budget.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
@@ -394,7 +400,7 @@ ManagedClusterInner updateTags(String resourceGroupName, String resourceName, Ta
*/
@ServiceMethod(returns = ReturnType.SINGLE)
Mono>> deleteWithResponseAsync(String resourceGroupName, String resourceName,
- String ifMatch);
+ String ifMatch, Boolean ignorePodDisruptionBudget);
/**
* Deletes a managed cluster.
@@ -402,13 +408,16 @@ Mono>> deleteWithResponseAsync(String resourceGroupNam
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param resourceName The name of the managed cluster resource.
* @param ifMatch The request should only proceed if an entity matches this string.
+ * @param ignorePodDisruptionBudget ignore-pod-disruption-budget=true to delete those pods on a node without
+ * considering Pod Disruption Budget.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the {@link PollerFlux} for polling of long-running operation.
*/
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
- PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String resourceName, String ifMatch);
+ PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String resourceName, String ifMatch,
+ Boolean ignorePodDisruptionBudget);
/**
* Deletes a managed cluster.
@@ -442,6 +451,8 @@ Mono>> deleteWithResponseAsync(String resourceGroupNam
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param resourceName The name of the managed cluster resource.
* @param ifMatch The request should only proceed if an entity matches this string.
+ * @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.
@@ -450,7 +461,7 @@ Mono>> deleteWithResponseAsync(String resourceGroupNam
*/
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName, String ifMatch,
- Context context);
+ Boolean ignorePodDisruptionBudget, Context context);
/**
* Deletes a managed cluster.
@@ -458,13 +469,16 @@ SyncPoller, Void> beginDelete(String resourceGroupName, String
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param resourceName The name of the managed cluster resource.
* @param ifMatch The request should only proceed if an entity matches this string.
+ * @param ignorePodDisruptionBudget ignore-pod-disruption-budget=true to delete those pods on a node without
+ * considering Pod Disruption Budget.
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return A {@link Mono} that completes when a successful response is received.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- Mono deleteAsync(String resourceGroupName, String resourceName, String ifMatch);
+ Mono deleteAsync(String resourceGroupName, String resourceName, String ifMatch,
+ Boolean ignorePodDisruptionBudget);
/**
* Deletes a managed cluster.
@@ -497,13 +511,16 @@ SyncPoller, Void> beginDelete(String resourceGroupName, String
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param resourceName The name of the managed cluster resource.
* @param ifMatch The request should only proceed if an entity matches this string.
+ * @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 ifMatch, Context context);
+ void delete(String resourceGroupName, String resourceName, String ifMatch, Boolean ignorePodDisruptionBudget,
+ Context context);
/**
* Lists managed clusters in the specified subscription and resource group.
@@ -1913,6 +1930,118 @@ PagedIterable listOutboundNetworkDependenciesE
PagedIterable listOutboundNetworkDependenciesEndpoints(String resourceGroupName,
String resourceName, Context context);
+ /**
+ * Rebalance nodes across specific load balancers.
+ *
+ * @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 names of the load balancers to be rebalanced. If set to empty, all load balancers will be
+ * rebalanced.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> rebalanceLoadBalancersWithResponseAsync(String resourceGroupName,
+ String resourceName, RebalanceLoadBalancersRequestBody parameters);
+
+ /**
+ * Rebalance nodes across specific load balancers.
+ *
+ * @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 names of the load balancers to be rebalanced. If set to empty, all load balancers will be
+ * rebalanced.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, Void> beginRebalanceLoadBalancersAsync(String resourceGroupName, String resourceName,
+ RebalanceLoadBalancersRequestBody parameters);
+
+ /**
+ * Rebalance nodes across specific load balancers.
+ *
+ * @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 names of the load balancers to be rebalanced. If set to empty, all load balancers will be
+ * rebalanced.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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> beginRebalanceLoadBalancers(String resourceGroupName, String resourceName,
+ RebalanceLoadBalancersRequestBody parameters);
+
+ /**
+ * Rebalance nodes across specific load balancers.
+ *
+ * @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 names of the load balancers to be rebalanced. If set to empty, all load balancers will be
+ * rebalanced.
+ * @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> beginRebalanceLoadBalancers(String resourceGroupName, String resourceName,
+ RebalanceLoadBalancersRequestBody parameters, Context context);
+
+ /**
+ * Rebalance nodes across specific load balancers.
+ *
+ * @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 names of the load balancers to be rebalanced. If set to empty, all load balancers will be
+ * rebalanced.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono rebalanceLoadBalancersAsync(String resourceGroupName, String resourceName,
+ RebalanceLoadBalancersRequestBody parameters);
+
+ /**
+ * Rebalance nodes across specific load balancers.
+ *
+ * @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 names of the load balancers to be rebalanced. If set to empty, all load balancers will be
+ * rebalanced.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 rebalanceLoadBalancers(String resourceGroupName, String resourceName,
+ RebalanceLoadBalancersRequestBody parameters);
+
+ /**
+ * Rebalance nodes across specific load balancers.
+ *
+ * @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 names of the load balancers to be rebalanced. If set to empty, all load balancers will be
+ * rebalanced.
+ * @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 rebalanceLoadBalancers(String resourceGroupName, String resourceName,
+ RebalanceLoadBalancersRequestBody parameters, Context context);
+
/**
* Gets the upgrade profile of a managed cluster.
*
@@ -1969,6 +2098,258 @@ Response getUpgradeProfileWithResponse(String
@ServiceMethod(returns = ReturnType.SINGLE)
ManagedClusterUpgradeProfileInner getUpgradeProfile(String resourceGroupName, String resourceName);
+ /**
+ * 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 the Azure region.
+ * @param version Safeguards 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 supported Guardrails version in the specified subscription and location.
+ *
+ * Contains Guardrails version along with its support info and whether it is a default version along with
+ * {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getGuardrailsVersionsWithResponseAsync(String location,
+ String version);
+
+ /**
+ * 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 the Azure region.
+ * @param version Safeguards 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 supported Guardrails version in the specified subscription and location.
+ *
+ * Contains Guardrails version along with its support info and whether it is a default version on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getGuardrailsVersionsAsync(String location, String version);
+
+ /**
+ * 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 the Azure region.
+ * @param version Safeguards 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 supported Guardrails version in the specified subscription and location.
+ *
+ * Contains Guardrails version along with its support info and whether it is a default 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 the Azure region.
+ * @param version Safeguards 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 supported Guardrails version in the specified subscription and location.
+ *
+ * Contains Guardrails version along with its support info and whether it is a default 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 the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 as paginated
+ * response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listGuardrailsVersionsAsync(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 the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 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 the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listGuardrailsVersions(String location, Context context);
+
+ /**
+ * Gets supported Safeguards version in the specified subscription and location.
+ *
+ * Contains Safeguards version along with its support info and whether it is a default version.
+ *
+ * @param location The name of the Azure region.
+ * @param version Safeguards 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 supported Safeguards version in the specified subscription and location.
+ *
+ * Contains Safeguards version along with its support info and whether it is a default version along with
+ * {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getSafeguardsVersionsWithResponseAsync(String location,
+ String version);
+
+ /**
+ * Gets supported Safeguards version in the specified subscription and location.
+ *
+ * Contains Safeguards version along with its support info and whether it is a default version.
+ *
+ * @param location The name of the Azure region.
+ * @param version Safeguards 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 supported Safeguards version in the specified subscription and location.
+ *
+ * Contains Safeguards version along with its support info and whether it is a default version on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getSafeguardsVersionsAsync(String location, String version);
+
+ /**
+ * Gets supported Safeguards version in the specified subscription and location.
+ *
+ * Contains Safeguards version along with its support info and whether it is a default version.
+ *
+ * @param location The name of the Azure region.
+ * @param version Safeguards 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 supported Safeguards version in the specified subscription and location.
+ *
+ * Contains Safeguards version along with its support info and whether it is a default version along with
+ * {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getSafeguardsVersionsWithResponse(String location, String version,
+ Context context);
+
+ /**
+ * Gets supported Safeguards version in the specified subscription and location.
+ *
+ * Contains Safeguards version along with its support info and whether it is a default version.
+ *
+ * @param location The name of the Azure region.
+ * @param version Safeguards 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 supported Safeguards version in the specified subscription and location.
+ *
+ * Contains Safeguards version along with its support info and whether it is a default version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SafeguardsAvailableVersionInner getSafeguardsVersions(String location, String version);
+
+ /**
+ * Gets a list of supported Safeguards versions in the specified subscription and location.
+ *
+ * Contains list of Safeguards version along with its support info and whether it is a default version.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of supported Safeguards versions in the specified subscription and location.
+ *
+ * Contains list of Safeguards version along with its support info and whether it is a default version as paginated
+ * response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listSafeguardsVersionsAsync(String location);
+
+ /**
+ * Gets a list of supported Safeguards versions in the specified subscription and location.
+ *
+ * Contains list of Safeguards version along with its support info and whether it is a default version.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of supported Safeguards versions in the specified subscription and location.
+ *
+ * Contains list of Safeguards version along with its support info and whether it is a default version as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listSafeguardsVersions(String location);
+
+ /**
+ * Gets a list of supported Safeguards versions in the specified subscription and location.
+ *
+ * Contains list of Safeguards version along with its support info and whether it is a default version.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of supported Safeguards versions in the specified subscription and location.
+ *
+ * Contains list of Safeguards version along with its support info and whether it is a default version as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listSafeguardsVersions(String location, Context context);
+
/**
* Gets a mesh revision profile for a specified mesh in the specified location.
*
@@ -2267,4 +2648,59 @@ PagedIterable listMeshUpgradeProfiles(String resourceGr
*/
@ServiceMethod(returns = ReturnType.SINGLE)
KubernetesVersionListResultInner listKubernetesVersions(String location);
+
+ /**
+ * Gets a list of supported NodeImage versions in the specified subscription.
+ *
+ * Only returns the latest version of each node image. For example there may be an
+ * AKSUbuntu-1804gen2containerd-2024.01.26, but only AKSUbuntu-1804gen2containerd-2024.02.02 is visible in this
+ * list.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of supported NodeImage versions in the specified subscription.
+ *
+ * Only returns the latest version of each node image as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listNodeImageVersionsAsync(String location);
+
+ /**
+ * Gets a list of supported NodeImage versions in the specified subscription.
+ *
+ * Only returns the latest version of each node image. For example there may be an
+ * AKSUbuntu-1804gen2containerd-2024.01.26, but only AKSUbuntu-1804gen2containerd-2024.02.02 is visible in this
+ * list.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of supported NodeImage versions in the specified subscription.
+ *
+ * Only returns the latest version of each node image as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listNodeImageVersions(String location);
+
+ /**
+ * Gets a list of supported NodeImage versions in the specified subscription.
+ *
+ * Only returns the latest version of each node image. For example there may be an
+ * AKSUbuntu-1804gen2containerd-2024.01.26, but only AKSUbuntu-1804gen2containerd-2024.02.02 is visible in this
+ * list.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of supported NodeImage versions in the specified subscription.
+ *
+ * Only returns the latest version of each node image as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listNodeImageVersions(String location, Context context);
}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/MeshMembershipsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/MeshMembershipsClient.java
new file mode 100644
index 000000000000..0efc90f7dbca
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/MeshMembershipsClient.java
@@ -0,0 +1,345 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedFlux;
+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.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.fluent.models.MeshMembershipInner;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in MeshMembershipsClient.
+ */
+public interface MeshMembershipsClient {
+ /**
+ * Gets the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 mesh membership of a managed cluster along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getWithResponseAsync(String resourceGroupName, String resourceName,
+ String meshMembershipName);
+
+ /**
+ * Gets the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 mesh membership of a managed cluster on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getAsync(String resourceGroupName, String resourceName, String meshMembershipName);
+
+ /**
+ * Gets the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @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 mesh membership of a managed cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String resourceName,
+ String meshMembershipName, Context context);
+
+ /**
+ * Gets the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 mesh membership of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MeshMembershipInner get(String resourceGroupName, String resourceName, String meshMembershipName);
+
+ /**
+ * Creates or updates the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @param parameters The mesh membership 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 mesh membership of a managed cluster along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> createOrUpdateWithResponseAsync(String resourceGroupName, String resourceName,
+ String meshMembershipName, MeshMembershipInner parameters);
+
+ /**
+ * Creates or updates the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @param parameters The mesh membership 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 PollerFlux} for polling of mesh membership of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, MeshMembershipInner> beginCreateOrUpdateAsync(String resourceGroupName,
+ String resourceName, String meshMembershipName, MeshMembershipInner parameters);
+
+ /**
+ * Creates or updates the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @param parameters The mesh membership 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 mesh membership of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MeshMembershipInner> beginCreateOrUpdate(String resourceGroupName,
+ String resourceName, String meshMembershipName, MeshMembershipInner parameters);
+
+ /**
+ * Creates or updates the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @param parameters The mesh membership 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 mesh membership of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MeshMembershipInner> beginCreateOrUpdate(String resourceGroupName,
+ String resourceName, String meshMembershipName, MeshMembershipInner parameters, Context context);
+
+ /**
+ * Creates or updates the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @param parameters The mesh membership 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 mesh membership of a managed cluster on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono createOrUpdateAsync(String resourceGroupName, String resourceName,
+ String meshMembershipName, MeshMembershipInner parameters);
+
+ /**
+ * Creates or updates the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @param parameters The mesh membership 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 mesh membership of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MeshMembershipInner createOrUpdate(String resourceGroupName, String resourceName, String meshMembershipName,
+ MeshMembershipInner parameters);
+
+ /**
+ * Creates or updates the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @param parameters The mesh membership 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 mesh membership of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MeshMembershipInner createOrUpdate(String resourceGroupName, String resourceName, String meshMembershipName,
+ MeshMembershipInner parameters, Context context);
+
+ /**
+ * Deletes the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono>> deleteWithResponseAsync(String resourceGroupName, String resourceName,
+ String meshMembershipName);
+
+ /**
+ * Deletes the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String resourceName,
+ String meshMembershipName);
+
+ /**
+ * Deletes the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 meshMembershipName);
+
+ /**
+ * Deletes the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @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 meshMembershipName, Context context);
+
+ /**
+ * Deletes the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono deleteAsync(String resourceGroupName, String resourceName, String meshMembershipName);
+
+ /**
+ * Deletes the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 meshMembershipName);
+
+ /**
+ * Deletes the mesh membership 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 meshMembershipName The name of the mesh membership.
+ * @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 meshMembershipName, Context context);
+
+ /**
+ * Lists mesh memberships in 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 result of a request to list mesh memberships in a managed cluster as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listByManagedClusterAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Lists mesh memberships in 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 result of a request to list mesh memberships in a managed cluster as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByManagedCluster(String resourceGroupName, String resourceName);
+
+ /**
+ * Lists mesh memberships in 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 result of a request to list mesh memberships in a managed cluster as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByManagedCluster(String resourceGroupName, String resourceName,
+ Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/OperationStatusResultsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/OperationStatusResultsClient.java
new file mode 100644
index 000000000000..a8babb50652c
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/OperationStatusResultsClient.java
@@ -0,0 +1,186 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservice.fluent.models.OperationStatusResultInner;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationStatusResultsClient.
+ */
+public interface OperationStatusResultsClient {
+ /**
+ * Get the status of a specific operation 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 operationId The ID of an ongoing async operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a specific operation in the specified agent pool along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getByAgentPoolWithResponseAsync(String resourceGroupName,
+ String resourceName, String agentPoolName, String operationId);
+
+ /**
+ * Get the status of a specific operation 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 operationId The ID of an ongoing async operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a specific operation in the specified agent pool on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getByAgentPoolAsync(String resourceGroupName, String resourceName,
+ String agentPoolName, String operationId);
+
+ /**
+ * Get the status of a specific operation 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 operationId The ID of an ongoing async 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 status of a specific operation in the specified agent pool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByAgentPoolWithResponse(String resourceGroupName, String resourceName,
+ String agentPoolName, String operationId, Context context);
+
+ /**
+ * Get the status of a specific operation 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 operationId The ID of an ongoing async operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a specific operation in the specified agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OperationStatusResultInner getByAgentPool(String resourceGroupName, String resourceName, String agentPoolName,
+ String operationId);
+
+ /**
+ * Gets a list of operations in the specified managedCluster.
+ *
+ * @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 operations in the specified managedCluster as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a list of operations in the specified managedCluster.
+ *
+ * @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 operations in the specified managedCluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a list of operations in the specified managedCluster.
+ *
+ * @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 operations in the specified managedCluster as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Get the status of a specific operation 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 operationId The ID of an ongoing async operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a specific operation in the specified managed cluster along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> getWithResponseAsync(String resourceGroupName, String resourceName,
+ String operationId);
+
+ /**
+ * Get the status of a specific operation 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 operationId The ID of an ongoing async operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a specific operation in the specified managed cluster on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono getAsync(String resourceGroupName, String resourceName, String operationId);
+
+ /**
+ * Get the status of a specific operation 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 operationId The ID of an ongoing async 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 status of a specific operation in the specified managed cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String resourceName,
+ String operationId, Context context);
+
+ /**
+ * Get the status of a specific operation 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 operationId The ID of an ongoing async operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the status of a specific operation in the specified managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OperationStatusResultInner get(String resourceGroupName, String resourceName, String operationId);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/VmSkusClient.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/VmSkusClient.java
new file mode 100644
index 000000000000..09ad3c0c5e98
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/VmSkusClient.java
@@ -0,0 +1,92 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservice.fluent.models.ResourceSkuInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in VmSkusClient.
+ */
+public interface VmSkusClient {
+ /**
+ * Gets the list of VM SKUs accepted by AKS.
+ *
+ * Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location. AKS will perform a
+ * best effort approach to provision the requested VM SKUs, but availability is not guaranteed.
+ *
+ * @param location The name of the Azure region.
+ * @param includeExtendedLocations To Include Extended Locations information or not in the response.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 VM SKUs accepted by AKS.
+ *
+ * Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location as paginated response
+ * with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listAsync(String location, Boolean includeExtendedLocations);
+
+ /**
+ * Gets the list of VM SKUs accepted by AKS.
+ *
+ * Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location. AKS will perform a
+ * best effort approach to provision the requested VM SKUs, but availability is not guaranteed.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of VM SKUs accepted by AKS.
+ *
+ * Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location as paginated response
+ * with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedFlux listAsync(String location);
+
+ /**
+ * Gets the list of VM SKUs accepted by AKS.
+ *
+ * Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location. AKS will perform a
+ * best effort approach to provision the requested VM SKUs, but availability is not guaranteed.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of VM SKUs accepted by AKS.
+ *
+ * Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location as paginated response
+ * with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * Gets the list of VM SKUs accepted by AKS.
+ *
+ * Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location. AKS will perform a
+ * best effort approach to provision the requested VM SKUs, but availability is not guaranteed.
+ *
+ * @param location The name of the Azure region.
+ * @param includeExtendedLocations To Include Extended Locations information or not in the response.
+ * @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 VM SKUs accepted by AKS.
+ *
+ * Gets the list of VM SKUs accepted by AKS when creating node pools in a specified location as paginated response
+ * with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Boolean includeExtendedLocations, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolInner.java
index 110f4b3cc19d..51a33be1d4d9 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolInner.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolInner.java
@@ -10,6 +10,8 @@
import com.azure.json.JsonReader;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.AgentPoolArtifactStreamingProfile;
+import com.azure.resourcemanager.containerservice.models.AgentPoolBlueGreenUpgradeSettings;
import com.azure.resourcemanager.containerservice.models.AgentPoolGatewayProfile;
import com.azure.resourcemanager.containerservice.models.AgentPoolMode;
import com.azure.resourcemanager.containerservice.models.AgentPoolNetworkProfile;
@@ -30,9 +32,11 @@
import com.azure.resourcemanager.containerservice.models.OSType;
import com.azure.resourcemanager.containerservice.models.PodIpAllocationMode;
import com.azure.resourcemanager.containerservice.models.PowerState;
+import com.azure.resourcemanager.containerservice.models.PreparedImageSpecificationProfile;
import com.azure.resourcemanager.containerservice.models.ScaleDownMode;
import com.azure.resourcemanager.containerservice.models.ScaleSetEvictionPolicy;
import com.azure.resourcemanager.containerservice.models.ScaleSetPriority;
+import com.azure.resourcemanager.containerservice.models.UpgradeStrategy;
import com.azure.resourcemanager.containerservice.models.VirtualMachineNodes;
import com.azure.resourcemanager.containerservice.models.VirtualMachinesProfile;
import com.azure.resourcemanager.containerservice.models.WorkloadRuntime;
@@ -678,6 +682,70 @@ public String nodeImageVersion() {
return this.innerProperties() == null ? null : this.innerProperties().nodeImageVersion();
}
+ /**
+ * Set the nodeImageVersion property: The version of node image.
+ *
+ * @param nodeImageVersion the nodeImageVersion value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodeImageVersion(String nodeImageVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withNodeImageVersion(nodeImageVersion);
+ return this;
+ }
+
+ /**
+ * Get the upgradeStrategy property: Defines the upgrade strategy for the agent pool. The default is Rolling.
+ *
+ * @return the upgradeStrategy value.
+ */
+ public UpgradeStrategy upgradeStrategy() {
+ return this.innerProperties() == null ? null : this.innerProperties().upgradeStrategy();
+ }
+
+ /**
+ * Set the upgradeStrategy property: Defines the upgrade strategy for the agent pool. The default is Rolling.
+ *
+ * @param upgradeStrategy the upgradeStrategy value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withUpgradeStrategy(UpgradeStrategy upgradeStrategy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withUpgradeStrategy(upgradeStrategy);
+ return this;
+ }
+
+ /**
+ * Get the enableOSDiskFullCaching property: Whether to enable the full-cache ephemeral OS disk feature. When this
+ * feature is enabled, the entire operating system will be locally cached on the ephemeral OS disk, preventing E17
+ * events caused by network failures.
+ *
+ * @return the enableOSDiskFullCaching value.
+ */
+ public Boolean enableOSDiskFullCaching() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableOSDiskFullCaching();
+ }
+
+ /**
+ * Set the enableOSDiskFullCaching property: Whether to enable the full-cache ephemeral OS disk feature. When this
+ * feature is enabled, the entire operating system will be locally cached on the ephemeral OS disk, preventing E17
+ * events caused by network failures.
+ *
+ * @param enableOSDiskFullCaching the enableOSDiskFullCaching value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableOSDiskFullCaching(Boolean enableOSDiskFullCaching) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withEnableOSDiskFullCaching(enableOSDiskFullCaching);
+ return this;
+ }
+
/**
* Get the upgradeSettings property: Settings for upgrading the agentpool.
*
@@ -701,6 +769,31 @@ public AgentPoolInner withUpgradeSettings(AgentPoolUpgradeSettings upgradeSettin
return this;
}
+ /**
+ * Get the upgradeSettingsBlueGreen property: Settings for Blue-Green upgrade on the agentpool. Applies when upgrade
+ * strategy is set to BlueGreen.
+ *
+ * @return the upgradeSettingsBlueGreen value.
+ */
+ public AgentPoolBlueGreenUpgradeSettings upgradeSettingsBlueGreen() {
+ return this.innerProperties() == null ? null : this.innerProperties().upgradeSettingsBlueGreen();
+ }
+
+ /**
+ * Set the upgradeSettingsBlueGreen property: Settings for Blue-Green upgrade on the agentpool. Applies when upgrade
+ * strategy is set to BlueGreen.
+ *
+ * @param upgradeSettingsBlueGreen the upgradeSettingsBlueGreen value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withUpgradeSettingsBlueGreen(AgentPoolBlueGreenUpgradeSettings upgradeSettingsBlueGreen) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withUpgradeSettingsBlueGreen(upgradeSettingsBlueGreen);
+ return this;
+ }
+
/**
* Get the provisioningState property: The current deployment or provisioning state.
*
@@ -976,6 +1069,39 @@ public AgentPoolInner withNodeTaints(List nodeTaints) {
return this;
}
+ /**
+ * Get the nodeInitializationTaints property: Taints added on the nodes during creation that will not be reconciled
+ * by AKS. These taints will not be reconciled by AKS and can be removed with a kubectl call. This field can be
+ * modified after node pool is created, but nodes will not be recreated with new taints until another operation that
+ * requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run
+ * before the node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with
+ * `kubectl taint nodes node1 key1=value1:NoSchedule-`.
+ *
+ * @return the nodeInitializationTaints value.
+ */
+ public List nodeInitializationTaints() {
+ return this.innerProperties() == null ? null : this.innerProperties().nodeInitializationTaints();
+ }
+
+ /**
+ * Set the nodeInitializationTaints property: Taints added on the nodes during creation that will not be reconciled
+ * by AKS. These taints will not be reconciled by AKS and can be removed with a kubectl call. This field can be
+ * modified after node pool is created, but nodes will not be recreated with new taints until another operation that
+ * requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run
+ * before the node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with
+ * `kubectl taint nodes node1 key1=value1:NoSchedule-`.
+ *
+ * @param nodeInitializationTaints the nodeInitializationTaints value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodeInitializationTaints(List nodeInitializationTaints) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withNodeInitializationTaints(nodeInitializationTaints);
+ return this;
+ }
+
/**
* Get the proximityPlacementGroupId property: The ID for Proximity Placement Group.
*
@@ -1351,6 +1477,29 @@ public AgentPoolInner withGatewayProfile(AgentPoolGatewayProfile gatewayProfile)
return this;
}
+ /**
+ * Get the artifactStreamingProfile property: Configuration for using artifact streaming on AKS.
+ *
+ * @return the artifactStreamingProfile value.
+ */
+ public AgentPoolArtifactStreamingProfile artifactStreamingProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().artifactStreamingProfile();
+ }
+
+ /**
+ * Set the artifactStreamingProfile property: Configuration for using artifact streaming on AKS.
+ *
+ * @param artifactStreamingProfile the artifactStreamingProfile value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withArtifactStreamingProfile(AgentPoolArtifactStreamingProfile artifactStreamingProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withArtifactStreamingProfile(artifactStreamingProfile);
+ return this;
+ }
+
/**
* Get the virtualMachinesProfile property: Specifications on VirtualMachines agent pool.
*
@@ -1447,6 +1596,32 @@ public AgentPoolInner withLocalDnsProfile(LocalDnsProfile localDnsProfile) {
return this;
}
+ /**
+ * Get the preparedImageSpecificationProfile property: Settings to determine the prepared image specification used
+ * to provision nodes in a pool.
+ *
+ * @return the preparedImageSpecificationProfile value.
+ */
+ public PreparedImageSpecificationProfile preparedImageSpecificationProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().preparedImageSpecificationProfile();
+ }
+
+ /**
+ * Set the preparedImageSpecificationProfile property: Settings to determine the prepared image specification used
+ * to provision nodes in a pool.
+ *
+ * @param preparedImageSpecificationProfile the preparedImageSpecificationProfile value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner
+ withPreparedImageSpecificationProfile(PreparedImageSpecificationProfile preparedImageSpecificationProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterAgentPoolProfileProperties();
+ }
+ this.innerProperties().withPreparedImageSpecificationProfile(preparedImageSpecificationProfile);
+ return this;
+ }
+
/**
* Validates the instance.
*
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolUpgradeProfileInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolUpgradeProfileInner.java
index 1a3a8e515ad3..c9b4dd9c985d 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolUpgradeProfileInner.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolUpgradeProfileInner.java
@@ -11,7 +11,9 @@
import com.azure.json.JsonReader;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.AgentPoolRecentlyUsedVersion;
import com.azure.resourcemanager.containerservice.models.AgentPoolUpgradeProfilePropertiesUpgradesItem;
+import com.azure.resourcemanager.containerservice.models.ComponentsByRelease;
import com.azure.resourcemanager.containerservice.models.OSType;
import java.io.IOException;
import java.util.List;
@@ -127,6 +129,24 @@ public List upgrades() {
return this.innerProperties() == null ? null : this.innerProperties().upgrades();
}
+ /**
+ * Get the componentsByReleases property: List of components grouped by kubernetes major.minor version.
+ *
+ * @return the componentsByReleases value.
+ */
+ public List componentsByReleases() {
+ return this.innerProperties() == null ? null : this.innerProperties().componentsByReleases();
+ }
+
+ /**
+ * Get the recentlyUsedVersions property: List of historical good versions for rollback operations.
+ *
+ * @return the recentlyUsedVersions value.
+ */
+ public List recentlyUsedVersions() {
+ return this.innerProperties() == null ? null : this.innerProperties().recentlyUsedVersions();
+ }
+
/**
* Get the latestNodeImageVersion property: The latest AKS supported node image version.
*
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolUpgradeProfileProperties.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolUpgradeProfileProperties.java
index 1836eca428c1..678f925ed564 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolUpgradeProfileProperties.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/AgentPoolUpgradeProfileProperties.java
@@ -10,7 +10,9 @@
import com.azure.json.JsonSerializable;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.AgentPoolRecentlyUsedVersion;
import com.azure.resourcemanager.containerservice.models.AgentPoolUpgradeProfilePropertiesUpgradesItem;
+import com.azure.resourcemanager.containerservice.models.ComponentsByRelease;
import com.azure.resourcemanager.containerservice.models.OSType;
import java.io.IOException;
import java.util.List;
@@ -35,6 +37,16 @@ public final class AgentPoolUpgradeProfileProperties implements JsonSerializable
*/
private List upgrades;
+ /*
+ * List of components grouped by kubernetes major.minor version.
+ */
+ private List componentsByReleases;
+
+ /*
+ * List of historical good versions for rollback operations.
+ */
+ private List recentlyUsedVersions;
+
/*
* The latest AKS supported node image version.
*/
@@ -73,6 +85,24 @@ public List upgrades() {
return this.upgrades;
}
+ /**
+ * Get the componentsByReleases property: List of components grouped by kubernetes major.minor version.
+ *
+ * @return the componentsByReleases value.
+ */
+ public List componentsByReleases() {
+ return this.componentsByReleases;
+ }
+
+ /**
+ * Get the recentlyUsedVersions property: List of historical good versions for rollback operations.
+ *
+ * @return the recentlyUsedVersions value.
+ */
+ public List recentlyUsedVersions() {
+ return this.recentlyUsedVersions;
+ }
+
/**
* Get the latestNodeImageVersion property: The latest AKS supported node image version.
*
@@ -101,6 +131,12 @@ public void validate() {
if (upgrades() != null) {
upgrades().forEach(e -> e.validate());
}
+ if (componentsByReleases() != null) {
+ componentsByReleases().forEach(e -> e.validate());
+ }
+ if (recentlyUsedVersions() != null) {
+ recentlyUsedVersions().forEach(e -> e.validate());
+ }
}
private static final ClientLogger LOGGER = new ClientLogger(AgentPoolUpgradeProfileProperties.class);
@@ -114,6 +150,8 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStringField("kubernetesVersion", this.kubernetesVersion);
jsonWriter.writeStringField("osType", this.osType == null ? null : this.osType.toString());
jsonWriter.writeArrayField("upgrades", this.upgrades, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeArrayField("componentsByReleases", this.componentsByReleases,
+ (writer, element) -> writer.writeJson(element));
jsonWriter.writeStringField("latestNodeImageVersion", this.latestNodeImageVersion);
return jsonWriter.writeEndObject();
}
@@ -143,6 +181,14 @@ public static AgentPoolUpgradeProfileProperties fromJson(JsonReader jsonReader)
List upgrades
= reader.readArray(reader1 -> AgentPoolUpgradeProfilePropertiesUpgradesItem.fromJson(reader1));
deserializedAgentPoolUpgradeProfileProperties.upgrades = upgrades;
+ } else if ("componentsByReleases".equals(fieldName)) {
+ List componentsByReleases
+ = reader.readArray(reader1 -> ComponentsByRelease.fromJson(reader1));
+ deserializedAgentPoolUpgradeProfileProperties.componentsByReleases = componentsByReleases;
+ } else if ("recentlyUsedVersions".equals(fieldName)) {
+ List recentlyUsedVersions
+ = reader.readArray(reader1 -> AgentPoolRecentlyUsedVersion.fromJson(reader1));
+ deserializedAgentPoolUpgradeProfileProperties.recentlyUsedVersions = recentlyUsedVersions;
} else if ("latestNodeImageVersion".equals(fieldName)) {
deserializedAgentPoolUpgradeProfileProperties.latestNodeImageVersion = reader.getString();
} else {
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/GuardrailsAvailableVersionInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/GuardrailsAvailableVersionInner.java
new file mode 100644
index 000000000000..20cc0a1d4cd5
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/GuardrailsAvailableVersionInner.java
@@ -0,0 +1,164 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.GuardrailsAvailableVersionsProperties;
+import java.io.IOException;
+
+/**
+ * Available Guardrails Version.
+ */
+@Immutable
+public final class GuardrailsAvailableVersionInner extends ProxyResource {
+ /*
+ * Whether the version is default or not and support info.
+ */
+ private GuardrailsAvailableVersionsProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of GuardrailsAvailableVersionInner class.
+ */
+ private 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;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property properties in model GuardrailsAvailableVersionInner"));
+ } else {
+ properties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(GuardrailsAvailableVersionInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GuardrailsAvailableVersionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GuardrailsAvailableVersionInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the GuardrailsAvailableVersionInner.
+ */
+ public static GuardrailsAvailableVersionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GuardrailsAvailableVersionInner deserializedGuardrailsAvailableVersionInner
+ = new GuardrailsAvailableVersionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedGuardrailsAvailableVersionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedGuardrailsAvailableVersionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedGuardrailsAvailableVersionInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedGuardrailsAvailableVersionInner.properties
+ = GuardrailsAvailableVersionsProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedGuardrailsAvailableVersionInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGuardrailsAvailableVersionInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/IdentityBindingInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/IdentityBindingInner.java
new file mode 100644
index 000000000000..6680c341c330
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/IdentityBindingInner.java
@@ -0,0 +1,188 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.IdentityBindingProperties;
+import java.io.IOException;
+
+/**
+ * The IdentityBinding resource.
+ */
+@Fluent
+public final class IdentityBindingInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private IdentityBindingProperties properties;
+
+ /*
+ * If eTag is provided in the response body, it may also be provided as a header per the normal etag convention.
+ * Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity
+ * tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section
+ * 14.27) header fields.
+ */
+ private String eTag;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of IdentityBindingInner class.
+ */
+ public IdentityBindingInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public IdentityBindingProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the IdentityBindingInner object itself.
+ */
+ public IdentityBindingInner withProperties(IdentityBindingProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the eTag property: If eTag is provided in the response body, it may also be provided as a header per the
+ * normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource.
+ * HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26),
+ * and If-Range (section 14.27) header fields.
+ *
+ * @return the eTag value.
+ */
+ public String eTag() {
+ return this.eTag;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of IdentityBindingInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of IdentityBindingInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the IdentityBindingInner.
+ */
+ public static IdentityBindingInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ IdentityBindingInner deserializedIdentityBindingInner = new IdentityBindingInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedIdentityBindingInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedIdentityBindingInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedIdentityBindingInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedIdentityBindingInner.properties = IdentityBindingProperties.fromJson(reader);
+ } else if ("eTag".equals(fieldName)) {
+ deserializedIdentityBindingInner.eTag = reader.getString();
+ } else if ("systemData".equals(fieldName)) {
+ deserializedIdentityBindingInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedIdentityBindingInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/JWTAuthenticatorInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/JWTAuthenticatorInner.java
new file mode 100644
index 000000000000..790178f25c23
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/JWTAuthenticatorInner.java
@@ -0,0 +1,185 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.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.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.JWTAuthenticatorProperties;
+import java.io.IOException;
+
+/**
+ * Configuration for JWT authenticator in the managed cluster.
+ */
+@Fluent
+public final class JWTAuthenticatorInner extends ProxyResource {
+ /*
+ * The properties of JWTAuthenticator. For details on how to configure the properties of a JWT authenticator, please
+ * refer to the Kubernetes documentation:
+ * https://kubernetes.io/docs/reference/access-authn-authz/authentication/#using-authentication-configuration.
+ * Please note that not all fields available in the Kubernetes documentation are supported by AKS. For
+ * troubleshooting, please see https://aka.ms/aks-external-issuers-docs.
+ */
+ private JWTAuthenticatorProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of JWTAuthenticatorInner class.
+ */
+ public JWTAuthenticatorInner() {
+ }
+
+ /**
+ * Get the properties property: The properties of JWTAuthenticator. For details on how to configure the properties
+ * of a JWT authenticator, please refer to the Kubernetes documentation:
+ * https://kubernetes.io/docs/reference/access-authn-authz/authentication/#using-authentication-configuration.
+ * Please note that not all fields available in the Kubernetes documentation are supported by AKS. For
+ * troubleshooting, please see https://aka.ms/aks-external-issuers-docs.
+ *
+ * @return the properties value.
+ */
+ public JWTAuthenticatorProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The properties of JWTAuthenticator. For details on how to configure the properties
+ * of a JWT authenticator, please refer to the Kubernetes documentation:
+ * https://kubernetes.io/docs/reference/access-authn-authz/authentication/#using-authentication-configuration.
+ * Please note that not all fields available in the Kubernetes documentation are supported by AKS. For
+ * troubleshooting, please see https://aka.ms/aks-external-issuers-docs.
+ *
+ * @param properties the properties value to set.
+ * @return the JWTAuthenticatorInner object itself.
+ */
+ public JWTAuthenticatorInner withProperties(JWTAuthenticatorProperties 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;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property properties in model JWTAuthenticatorInner"));
+ } else {
+ properties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(JWTAuthenticatorInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of JWTAuthenticatorInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of JWTAuthenticatorInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the JWTAuthenticatorInner.
+ */
+ public static JWTAuthenticatorInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ JWTAuthenticatorInner deserializedJWTAuthenticatorInner = new JWTAuthenticatorInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedJWTAuthenticatorInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedJWTAuthenticatorInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedJWTAuthenticatorInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedJWTAuthenticatorInner.properties = JWTAuthenticatorProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedJWTAuthenticatorInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedJWTAuthenticatorInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/LoadBalancerInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/LoadBalancerInner.java
new file mode 100644
index 000000000000..ed5ded707a81
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/LoadBalancerInner.java
@@ -0,0 +1,298 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.LabelSelector;
+import java.io.IOException;
+
+/**
+ * The configurations regarding multiple standard load balancers. If not supplied, single load balancer mode will be
+ * used. Multiple standard load balancers mode will be used if at lease one configuration is supplied. There has to be a
+ * configuration named `kubernetes`. The name field will be the name of the corresponding public load balancer. There
+ * will be an internal load balancer created if needed, and the name will be `<name>-internal`. The internal lb
+ * shares the same configurations as the external one. The internal lbs are not needed to be included in LoadBalancer
+ * list.
+ */
+@Fluent
+public final class LoadBalancerInner extends ProxyResource {
+ /*
+ * The properties of the load balancer.
+ */
+ private LoadBalancerProperties innerProperties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of LoadBalancerInner class.
+ */
+ public LoadBalancerInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties of the load balancer.
+ *
+ * @return the innerProperties value.
+ */
+ private LoadBalancerProperties 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;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the primaryAgentPoolName property: Required field. A string value that must specify the ID of an existing
+ * agent pool. All nodes in the given pool will always be added to this load balancer. This agent pool must have at
+ * least one node and minCount>=1 for autoscaling operations. An agent pool can only be the primary pool for a
+ * single load balancer.
+ *
+ * @return the primaryAgentPoolName value.
+ */
+ public String primaryAgentPoolName() {
+ return this.innerProperties() == null ? null : this.innerProperties().primaryAgentPoolName();
+ }
+
+ /**
+ * Set the primaryAgentPoolName property: Required field. A string value that must specify the ID of an existing
+ * agent pool. All nodes in the given pool will always be added to this load balancer. This agent pool must have at
+ * least one node and minCount>=1 for autoscaling operations. An agent pool can only be the primary pool for a
+ * single load balancer.
+ *
+ * @param primaryAgentPoolName the primaryAgentPoolName value to set.
+ * @return the LoadBalancerInner object itself.
+ */
+ public LoadBalancerInner withPrimaryAgentPoolName(String primaryAgentPoolName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LoadBalancerProperties();
+ }
+ this.innerProperties().withPrimaryAgentPoolName(primaryAgentPoolName);
+ return this;
+ }
+
+ /**
+ * Get the allowServicePlacement property: Whether to automatically place services on the load balancer. If not
+ * supplied, the default value is true. If set to false manually, both of the external and the internal load
+ * balancer will not be selected for services unless they explicitly target it.
+ *
+ * @return the allowServicePlacement value.
+ */
+ public Boolean allowServicePlacement() {
+ return this.innerProperties() == null ? null : this.innerProperties().allowServicePlacement();
+ }
+
+ /**
+ * Set the allowServicePlacement property: Whether to automatically place services on the load balancer. If not
+ * supplied, the default value is true. If set to false manually, both of the external and the internal load
+ * balancer will not be selected for services unless they explicitly target it.
+ *
+ * @param allowServicePlacement the allowServicePlacement value to set.
+ * @return the LoadBalancerInner object itself.
+ */
+ public LoadBalancerInner withAllowServicePlacement(Boolean allowServicePlacement) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LoadBalancerProperties();
+ }
+ this.innerProperties().withAllowServicePlacement(allowServicePlacement);
+ return this;
+ }
+
+ /**
+ * Get the serviceLabelSelector property: Only services that must match this selector can be placed on this load
+ * balancer.
+ *
+ * @return the serviceLabelSelector value.
+ */
+ public LabelSelector serviceLabelSelector() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceLabelSelector();
+ }
+
+ /**
+ * Set the serviceLabelSelector property: Only services that must match this selector can be placed on this load
+ * balancer.
+ *
+ * @param serviceLabelSelector the serviceLabelSelector value to set.
+ * @return the LoadBalancerInner object itself.
+ */
+ public LoadBalancerInner withServiceLabelSelector(LabelSelector serviceLabelSelector) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LoadBalancerProperties();
+ }
+ this.innerProperties().withServiceLabelSelector(serviceLabelSelector);
+ return this;
+ }
+
+ /**
+ * Get the serviceNamespaceSelector property: Services created in namespaces that match the selector can be placed
+ * on this load balancer.
+ *
+ * @return the serviceNamespaceSelector value.
+ */
+ public LabelSelector serviceNamespaceSelector() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceNamespaceSelector();
+ }
+
+ /**
+ * Set the serviceNamespaceSelector property: Services created in namespaces that match the selector can be placed
+ * on this load balancer.
+ *
+ * @param serviceNamespaceSelector the serviceNamespaceSelector value to set.
+ * @return the LoadBalancerInner object itself.
+ */
+ public LoadBalancerInner withServiceNamespaceSelector(LabelSelector serviceNamespaceSelector) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LoadBalancerProperties();
+ }
+ this.innerProperties().withServiceNamespaceSelector(serviceNamespaceSelector);
+ return this;
+ }
+
+ /**
+ * Get the nodeSelector property: Nodes that match this selector will be possible members of this load balancer.
+ *
+ * @return the nodeSelector value.
+ */
+ public LabelSelector nodeSelector() {
+ return this.innerProperties() == null ? null : this.innerProperties().nodeSelector();
+ }
+
+ /**
+ * Set the nodeSelector property: Nodes that match this selector will be possible members of this load balancer.
+ *
+ * @param nodeSelector the nodeSelector value to set.
+ * @return the LoadBalancerInner object itself.
+ */
+ public LoadBalancerInner withNodeSelector(LabelSelector nodeSelector) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new LoadBalancerProperties();
+ }
+ this.innerProperties().withNodeSelector(nodeSelector);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The current provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LoadBalancerInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LoadBalancerInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the LoadBalancerInner.
+ */
+ public static LoadBalancerInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LoadBalancerInner deserializedLoadBalancerInner = new LoadBalancerInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedLoadBalancerInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedLoadBalancerInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedLoadBalancerInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedLoadBalancerInner.innerProperties = LoadBalancerProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedLoadBalancerInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLoadBalancerInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/LoadBalancerProperties.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/LoadBalancerProperties.java
new file mode 100644
index 000000000000..5425a3eec21f
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/LoadBalancerProperties.java
@@ -0,0 +1,259 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.LabelSelector;
+import java.io.IOException;
+
+/**
+ * Properties for a load balancer resource.
+ */
+@Fluent
+public final class LoadBalancerProperties implements JsonSerializable {
+ /*
+ * Required field. A string value that must specify the ID of an existing agent pool. All nodes in the given pool
+ * will always be added to this load balancer. This agent pool must have at least one node and minCount>=1 for
+ * autoscaling operations. An agent pool can only be the primary pool for a single load balancer.
+ */
+ private String primaryAgentPoolName;
+
+ /*
+ * Whether to automatically place services on the load balancer. If not supplied, the default value is true. If set
+ * to false manually, both of the external and the internal load balancer will not be selected for services unless
+ * they explicitly target it.
+ */
+ private Boolean allowServicePlacement;
+
+ /*
+ * Only services that must match this selector can be placed on this load balancer.
+ */
+ private LabelSelector serviceLabelSelector;
+
+ /*
+ * Services created in namespaces that match the selector can be placed on this load balancer.
+ */
+ private LabelSelector serviceNamespaceSelector;
+
+ /*
+ * Nodes that match this selector will be possible members of this load balancer.
+ */
+ private LabelSelector nodeSelector;
+
+ /*
+ * The current provisioning state.
+ */
+ private String provisioningState;
+
+ /**
+ * Creates an instance of LoadBalancerProperties class.
+ */
+ public LoadBalancerProperties() {
+ }
+
+ /**
+ * Get the primaryAgentPoolName property: Required field. A string value that must specify the ID of an existing
+ * agent pool. All nodes in the given pool will always be added to this load balancer. This agent pool must have at
+ * least one node and minCount>=1 for autoscaling operations. An agent pool can only be the primary pool for a
+ * single load balancer.
+ *
+ * @return the primaryAgentPoolName value.
+ */
+ public String primaryAgentPoolName() {
+ return this.primaryAgentPoolName;
+ }
+
+ /**
+ * Set the primaryAgentPoolName property: Required field. A string value that must specify the ID of an existing
+ * agent pool. All nodes in the given pool will always be added to this load balancer. This agent pool must have at
+ * least one node and minCount>=1 for autoscaling operations. An agent pool can only be the primary pool for a
+ * single load balancer.
+ *
+ * @param primaryAgentPoolName the primaryAgentPoolName value to set.
+ * @return the LoadBalancerProperties object itself.
+ */
+ public LoadBalancerProperties withPrimaryAgentPoolName(String primaryAgentPoolName) {
+ this.primaryAgentPoolName = primaryAgentPoolName;
+ return this;
+ }
+
+ /**
+ * Get the allowServicePlacement property: Whether to automatically place services on the load balancer. If not
+ * supplied, the default value is true. If set to false manually, both of the external and the internal load
+ * balancer will not be selected for services unless they explicitly target it.
+ *
+ * @return the allowServicePlacement value.
+ */
+ public Boolean allowServicePlacement() {
+ return this.allowServicePlacement;
+ }
+
+ /**
+ * Set the allowServicePlacement property: Whether to automatically place services on the load balancer. If not
+ * supplied, the default value is true. If set to false manually, both of the external and the internal load
+ * balancer will not be selected for services unless they explicitly target it.
+ *
+ * @param allowServicePlacement the allowServicePlacement value to set.
+ * @return the LoadBalancerProperties object itself.
+ */
+ public LoadBalancerProperties withAllowServicePlacement(Boolean allowServicePlacement) {
+ this.allowServicePlacement = allowServicePlacement;
+ return this;
+ }
+
+ /**
+ * Get the serviceLabelSelector property: Only services that must match this selector can be placed on this load
+ * balancer.
+ *
+ * @return the serviceLabelSelector value.
+ */
+ public LabelSelector serviceLabelSelector() {
+ return this.serviceLabelSelector;
+ }
+
+ /**
+ * Set the serviceLabelSelector property: Only services that must match this selector can be placed on this load
+ * balancer.
+ *
+ * @param serviceLabelSelector the serviceLabelSelector value to set.
+ * @return the LoadBalancerProperties object itself.
+ */
+ public LoadBalancerProperties withServiceLabelSelector(LabelSelector serviceLabelSelector) {
+ this.serviceLabelSelector = serviceLabelSelector;
+ return this;
+ }
+
+ /**
+ * Get the serviceNamespaceSelector property: Services created in namespaces that match the selector can be placed
+ * on this load balancer.
+ *
+ * @return the serviceNamespaceSelector value.
+ */
+ public LabelSelector serviceNamespaceSelector() {
+ return this.serviceNamespaceSelector;
+ }
+
+ /**
+ * Set the serviceNamespaceSelector property: Services created in namespaces that match the selector can be placed
+ * on this load balancer.
+ *
+ * @param serviceNamespaceSelector the serviceNamespaceSelector value to set.
+ * @return the LoadBalancerProperties object itself.
+ */
+ public LoadBalancerProperties withServiceNamespaceSelector(LabelSelector serviceNamespaceSelector) {
+ this.serviceNamespaceSelector = serviceNamespaceSelector;
+ return this;
+ }
+
+ /**
+ * Get the nodeSelector property: Nodes that match this selector will be possible members of this load balancer.
+ *
+ * @return the nodeSelector value.
+ */
+ public LabelSelector nodeSelector() {
+ return this.nodeSelector;
+ }
+
+ /**
+ * Set the nodeSelector property: Nodes that match this selector will be possible members of this load balancer.
+ *
+ * @param nodeSelector the nodeSelector value to set.
+ * @return the LoadBalancerProperties object itself.
+ */
+ public LoadBalancerProperties withNodeSelector(LabelSelector nodeSelector) {
+ this.nodeSelector = nodeSelector;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The current provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (primaryAgentPoolName() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property primaryAgentPoolName in model LoadBalancerProperties"));
+ }
+ if (serviceLabelSelector() != null) {
+ serviceLabelSelector().validate();
+ }
+ if (serviceNamespaceSelector() != null) {
+ serviceNamespaceSelector().validate();
+ }
+ if (nodeSelector() != null) {
+ nodeSelector().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(LoadBalancerProperties.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("primaryAgentPoolName", this.primaryAgentPoolName);
+ jsonWriter.writeBooleanField("allowServicePlacement", this.allowServicePlacement);
+ jsonWriter.writeJsonField("serviceLabelSelector", this.serviceLabelSelector);
+ jsonWriter.writeJsonField("serviceNamespaceSelector", this.serviceNamespaceSelector);
+ jsonWriter.writeJsonField("nodeSelector", this.nodeSelector);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LoadBalancerProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LoadBalancerProperties if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the LoadBalancerProperties.
+ */
+ public static LoadBalancerProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LoadBalancerProperties deserializedLoadBalancerProperties = new LoadBalancerProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("primaryAgentPoolName".equals(fieldName)) {
+ deserializedLoadBalancerProperties.primaryAgentPoolName = reader.getString();
+ } else if ("allowServicePlacement".equals(fieldName)) {
+ deserializedLoadBalancerProperties.allowServicePlacement
+ = reader.getNullable(JsonReader::getBoolean);
+ } else if ("serviceLabelSelector".equals(fieldName)) {
+ deserializedLoadBalancerProperties.serviceLabelSelector = LabelSelector.fromJson(reader);
+ } else if ("serviceNamespaceSelector".equals(fieldName)) {
+ deserializedLoadBalancerProperties.serviceNamespaceSelector = LabelSelector.fromJson(reader);
+ } else if ("nodeSelector".equals(fieldName)) {
+ deserializedLoadBalancerProperties.nodeSelector = LabelSelector.fromJson(reader);
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedLoadBalancerProperties.provisioningState = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLoadBalancerProperties;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/MachineInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/MachineInner.java
index 348ec6777350..7d21daf092d2 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/MachineInner.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/MachineInner.java
@@ -4,7 +4,7 @@
package com.azure.resourcemanager.containerservice.fluent.models;
-import com.azure.core.annotation.Immutable;
+import com.azure.core.annotation.Fluent;
import com.azure.core.management.ProxyResource;
import com.azure.core.management.SystemData;
import com.azure.json.JsonReader;
@@ -18,7 +18,7 @@
* 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.
*/
-@Immutable
+@Fluent
public final class MachineInner extends ProxyResource {
/*
* The properties of the machine
@@ -53,7 +53,7 @@ public final class MachineInner extends ProxyResource {
/**
* Creates an instance of MachineInner class.
*/
- private MachineInner() {
+ public MachineInner() {
}
/**
@@ -65,6 +65,17 @@ public MachineProperties properties() {
return this.properties;
}
+ /**
+ * Set the properties property: The properties of the machine.
+ *
+ * @param properties the properties value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withProperties(MachineProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
/**
* Get the zones property: The Availability zone in which machine is located.
*
@@ -74,6 +85,17 @@ public List zones() {
return this.zones;
}
+ /**
+ * Set the zones property: The Availability zone in which machine is located.
+ *
+ * @param zones the zones value to set.
+ * @return the MachineInner object itself.
+ */
+ public MachineInner withZones(List zones) {
+ this.zones = zones;
+ return this;
+ }
+
/**
* Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
@@ -131,6 +153,7 @@ public void validate() {
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeArrayField("zones", this.zones, (writer, element) -> writer.writeString(element));
return jsonWriter.writeEndObject();
}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterAgentPoolProfileProperties.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterAgentPoolProfileProperties.java
index 1f9316f563ef..c608bc975309 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterAgentPoolProfileProperties.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterAgentPoolProfileProperties.java
@@ -9,6 +9,8 @@
import com.azure.json.JsonSerializable;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.AgentPoolArtifactStreamingProfile;
+import com.azure.resourcemanager.containerservice.models.AgentPoolBlueGreenUpgradeSettings;
import com.azure.resourcemanager.containerservice.models.AgentPoolGatewayProfile;
import com.azure.resourcemanager.containerservice.models.AgentPoolMode;
import com.azure.resourcemanager.containerservice.models.AgentPoolNetworkProfile;
@@ -29,9 +31,11 @@
import com.azure.resourcemanager.containerservice.models.OSType;
import com.azure.resourcemanager.containerservice.models.PodIpAllocationMode;
import com.azure.resourcemanager.containerservice.models.PowerState;
+import com.azure.resourcemanager.containerservice.models.PreparedImageSpecificationProfile;
import com.azure.resourcemanager.containerservice.models.ScaleDownMode;
import com.azure.resourcemanager.containerservice.models.ScaleSetEvictionPolicy;
import com.azure.resourcemanager.containerservice.models.ScaleSetPriority;
+import com.azure.resourcemanager.containerservice.models.UpgradeStrategy;
import com.azure.resourcemanager.containerservice.models.VirtualMachineNodes;
import com.azure.resourcemanager.containerservice.models.VirtualMachinesProfile;
import com.azure.resourcemanager.containerservice.models.WorkloadRuntime;
@@ -192,11 +196,27 @@ public class ManagedClusterAgentPoolProfileProperties
*/
private String nodeImageVersion;
+ /*
+ * Defines the upgrade strategy for the agent pool. The default is Rolling.
+ */
+ private UpgradeStrategy upgradeStrategy;
+
+ /*
+ * Whether to enable the full-cache ephemeral OS disk feature. When this feature is enabled, the entire operating
+ * system will be locally cached on the ephemeral OS disk, preventing E17 events caused by network failures.
+ */
+ private Boolean enableOSDiskFullCaching;
+
/*
* Settings for upgrading the agentpool
*/
private AgentPoolUpgradeSettings upgradeSettings;
+ /*
+ * Settings for Blue-Green upgrade on the agentpool. Applies when upgrade strategy is set to BlueGreen.
+ */
+ private AgentPoolBlueGreenUpgradeSettings upgradeSettingsBlueGreen;
+
/*
* The current deployment or provisioning state.
*/
@@ -267,6 +287,16 @@ public class ManagedClusterAgentPoolProfileProperties
*/
private List nodeTaints;
+ /*
+ * Taints added on the nodes during creation that will not be reconciled by AKS. These taints will not be reconciled
+ * by AKS and can be removed with a kubectl call. This field can be modified after node pool is created, but nodes
+ * will not be recreated with new taints until another operation that requires recreation (e.g. node image upgrade)
+ * happens. These taints allow for required configuration to run before the node is ready to accept workloads, for
+ * example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint nodes node1
+ * key1=value1:NoSchedule-`
+ */
+ private List nodeInitializationTaints;
+
/*
* The ID for Proximity Placement Group.
*/
@@ -356,6 +386,11 @@ public class ManagedClusterAgentPoolProfileProperties
*/
private AgentPoolGatewayProfile gatewayProfile;
+ /*
+ * Configuration for using artifact streaming on AKS.
+ */
+ private AgentPoolArtifactStreamingProfile artifactStreamingProfile;
+
/*
* Specifications on VirtualMachines agent pool.
*/
@@ -377,6 +412,11 @@ public class ManagedClusterAgentPoolProfileProperties
*/
private LocalDnsProfile localDnsProfile;
+ /*
+ * Settings to determine the prepared image specification used to provision nodes in a pool.
+ */
+ private PreparedImageSpecificationProfile preparedImageSpecificationProfile;
+
/**
* Creates an instance of ManagedClusterAgentPoolProfileProperties class.
*/
@@ -910,11 +950,55 @@ public String nodeImageVersion() {
* @param nodeImageVersion the nodeImageVersion value to set.
* @return the ManagedClusterAgentPoolProfileProperties object itself.
*/
- ManagedClusterAgentPoolProfileProperties withNodeImageVersion(String nodeImageVersion) {
+ public ManagedClusterAgentPoolProfileProperties withNodeImageVersion(String nodeImageVersion) {
this.nodeImageVersion = nodeImageVersion;
return this;
}
+ /**
+ * Get the upgradeStrategy property: Defines the upgrade strategy for the agent pool. The default is Rolling.
+ *
+ * @return the upgradeStrategy value.
+ */
+ public UpgradeStrategy upgradeStrategy() {
+ return this.upgradeStrategy;
+ }
+
+ /**
+ * Set the upgradeStrategy property: Defines the upgrade strategy for the agent pool. The default is Rolling.
+ *
+ * @param upgradeStrategy the upgradeStrategy value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withUpgradeStrategy(UpgradeStrategy upgradeStrategy) {
+ this.upgradeStrategy = upgradeStrategy;
+ return this;
+ }
+
+ /**
+ * Get the enableOSDiskFullCaching property: Whether to enable the full-cache ephemeral OS disk feature. When this
+ * feature is enabled, the entire operating system will be locally cached on the ephemeral OS disk, preventing E17
+ * events caused by network failures.
+ *
+ * @return the enableOSDiskFullCaching value.
+ */
+ public Boolean enableOSDiskFullCaching() {
+ return this.enableOSDiskFullCaching;
+ }
+
+ /**
+ * Set the enableOSDiskFullCaching property: Whether to enable the full-cache ephemeral OS disk feature. When this
+ * feature is enabled, the entire operating system will be locally cached on the ephemeral OS disk, preventing E17
+ * events caused by network failures.
+ *
+ * @param enableOSDiskFullCaching the enableOSDiskFullCaching value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties withEnableOSDiskFullCaching(Boolean enableOSDiskFullCaching) {
+ this.enableOSDiskFullCaching = enableOSDiskFullCaching;
+ return this;
+ }
+
/**
* Get the upgradeSettings property: Settings for upgrading the agentpool.
*
@@ -935,6 +1019,29 @@ public ManagedClusterAgentPoolProfileProperties withUpgradeSettings(AgentPoolUpg
return this;
}
+ /**
+ * Get the upgradeSettingsBlueGreen property: Settings for Blue-Green upgrade on the agentpool. Applies when upgrade
+ * strategy is set to BlueGreen.
+ *
+ * @return the upgradeSettingsBlueGreen value.
+ */
+ public AgentPoolBlueGreenUpgradeSettings upgradeSettingsBlueGreen() {
+ return this.upgradeSettingsBlueGreen;
+ }
+
+ /**
+ * Set the upgradeSettingsBlueGreen property: Settings for Blue-Green upgrade on the agentpool. Applies when upgrade
+ * strategy is set to BlueGreen.
+ *
+ * @param upgradeSettingsBlueGreen the upgradeSettingsBlueGreen value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties
+ withUpgradeSettingsBlueGreen(AgentPoolBlueGreenUpgradeSettings upgradeSettingsBlueGreen) {
+ this.upgradeSettingsBlueGreen = upgradeSettingsBlueGreen;
+ return this;
+ }
+
/**
* Get the provisioningState property: The current deployment or provisioning state.
*
@@ -1192,6 +1299,37 @@ public ManagedClusterAgentPoolProfileProperties withNodeTaints(List node
return this;
}
+ /**
+ * Get the nodeInitializationTaints property: Taints added on the nodes during creation that will not be reconciled
+ * by AKS. These taints will not be reconciled by AKS and can be removed with a kubectl call. This field can be
+ * modified after node pool is created, but nodes will not be recreated with new taints until another operation that
+ * requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run
+ * before the node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with
+ * `kubectl taint nodes node1 key1=value1:NoSchedule-`.
+ *
+ * @return the nodeInitializationTaints value.
+ */
+ public List nodeInitializationTaints() {
+ return this.nodeInitializationTaints;
+ }
+
+ /**
+ * Set the nodeInitializationTaints property: Taints added on the nodes during creation that will not be reconciled
+ * by AKS. These taints will not be reconciled by AKS and can be removed with a kubectl call. This field can be
+ * modified after node pool is created, but nodes will not be recreated with new taints until another operation that
+ * requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run
+ * before the node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with
+ * `kubectl taint nodes node1 key1=value1:NoSchedule-`.
+ *
+ * @param nodeInitializationTaints the nodeInitializationTaints value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties
+ withNodeInitializationTaints(List nodeInitializationTaints) {
+ this.nodeInitializationTaints = nodeInitializationTaints;
+ return this;
+ }
+
/**
* Get the proximityPlacementGroupId property: The ID for Proximity Placement Group.
*
@@ -1522,6 +1660,27 @@ public ManagedClusterAgentPoolProfileProperties withGatewayProfile(AgentPoolGate
return this;
}
+ /**
+ * Get the artifactStreamingProfile property: Configuration for using artifact streaming on AKS.
+ *
+ * @return the artifactStreamingProfile value.
+ */
+ public AgentPoolArtifactStreamingProfile artifactStreamingProfile() {
+ return this.artifactStreamingProfile;
+ }
+
+ /**
+ * Set the artifactStreamingProfile property: Configuration for using artifact streaming on AKS.
+ *
+ * @param artifactStreamingProfile the artifactStreamingProfile value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties
+ withArtifactStreamingProfile(AgentPoolArtifactStreamingProfile artifactStreamingProfile) {
+ this.artifactStreamingProfile = artifactStreamingProfile;
+ return this;
+ }
+
/**
* Get the virtualMachinesProfile property: Specifications on VirtualMachines agent pool.
*
@@ -1608,6 +1767,29 @@ public ManagedClusterAgentPoolProfileProperties withLocalDnsProfile(LocalDnsProf
return this;
}
+ /**
+ * Get the preparedImageSpecificationProfile property: Settings to determine the prepared image specification used
+ * to provision nodes in a pool.
+ *
+ * @return the preparedImageSpecificationProfile value.
+ */
+ public PreparedImageSpecificationProfile preparedImageSpecificationProfile() {
+ return this.preparedImageSpecificationProfile;
+ }
+
+ /**
+ * Set the preparedImageSpecificationProfile property: Settings to determine the prepared image specification used
+ * to provision nodes in a pool.
+ *
+ * @param preparedImageSpecificationProfile the preparedImageSpecificationProfile value to set.
+ * @return the ManagedClusterAgentPoolProfileProperties object itself.
+ */
+ public ManagedClusterAgentPoolProfileProperties
+ withPreparedImageSpecificationProfile(PreparedImageSpecificationProfile preparedImageSpecificationProfile) {
+ this.preparedImageSpecificationProfile = preparedImageSpecificationProfile;
+ return this;
+ }
+
/**
* Validates the instance.
*
@@ -1617,6 +1799,9 @@ public void validate() {
if (upgradeSettings() != null) {
upgradeSettings().validate();
}
+ if (upgradeSettingsBlueGreen() != null) {
+ upgradeSettingsBlueGreen().validate();
+ }
if (powerState() != null) {
powerState().validate();
}
@@ -1644,6 +1829,9 @@ public void validate() {
if (gatewayProfile() != null) {
gatewayProfile().validate();
}
+ if (artifactStreamingProfile() != null) {
+ artifactStreamingProfile().validate();
+ }
if (virtualMachinesProfile() != null) {
virtualMachinesProfile().validate();
}
@@ -1656,6 +1844,9 @@ public void validate() {
if (localDnsProfile() != null) {
localDnsProfile().validate();
}
+ if (preparedImageSpecificationProfile() != null) {
+ preparedImageSpecificationProfile().validate();
+ }
}
/**
@@ -1687,7 +1878,12 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
jsonWriter.writeStringField("mode", this.mode == null ? null : this.mode.toString());
jsonWriter.writeStringField("orchestratorVersion", this.orchestratorVersion);
+ jsonWriter.writeStringField("nodeImageVersion", this.nodeImageVersion);
+ jsonWriter.writeStringField("upgradeStrategy",
+ this.upgradeStrategy == null ? null : this.upgradeStrategy.toString());
+ jsonWriter.writeBooleanField("enableOSDiskFullCaching", this.enableOSDiskFullCaching);
jsonWriter.writeJsonField("upgradeSettings", this.upgradeSettings);
+ jsonWriter.writeJsonField("upgradeSettingsBlueGreen", this.upgradeSettingsBlueGreen);
jsonWriter.writeJsonField("powerState", this.powerState);
jsonWriter.writeArrayField("availabilityZones", this.availabilityZones,
(writer, element) -> writer.writeString(element));
@@ -1701,6 +1897,8 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
jsonWriter.writeMapField("nodeLabels", this.nodeLabels, (writer, element) -> writer.writeString(element));
jsonWriter.writeArrayField("nodeTaints", this.nodeTaints, (writer, element) -> writer.writeString(element));
+ jsonWriter.writeArrayField("nodeInitializationTaints", this.nodeInitializationTaints,
+ (writer, element) -> writer.writeString(element));
jsonWriter.writeStringField("proximityPlacementGroupID", this.proximityPlacementGroupId);
jsonWriter.writeJsonField("kubeletConfig", this.kubeletConfig);
jsonWriter.writeJsonField("linuxOSConfig", this.linuxOSConfig);
@@ -1717,11 +1915,13 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeJsonField("securityProfile", this.securityProfile);
jsonWriter.writeJsonField("gpuProfile", this.gpuProfile);
jsonWriter.writeJsonField("gatewayProfile", this.gatewayProfile);
+ jsonWriter.writeJsonField("artifactStreamingProfile", this.artifactStreamingProfile);
jsonWriter.writeJsonField("virtualMachinesProfile", this.virtualMachinesProfile);
jsonWriter.writeArrayField("virtualMachineNodesStatus", this.virtualMachineNodesStatus,
(writer, element) -> writer.writeJson(element));
jsonWriter.writeJsonField("status", this.status);
jsonWriter.writeJsonField("localDNSProfile", this.localDnsProfile);
+ jsonWriter.writeJsonField("preparedImageSpecificationProfile", this.preparedImageSpecificationProfile);
return jsonWriter.writeEndObject();
}
@@ -1800,9 +2000,18 @@ public static ManagedClusterAgentPoolProfileProperties fromJson(JsonReader jsonR
= reader.getString();
} else if ("nodeImageVersion".equals(fieldName)) {
deserializedManagedClusterAgentPoolProfileProperties.nodeImageVersion = reader.getString();
+ } else if ("upgradeStrategy".equals(fieldName)) {
+ deserializedManagedClusterAgentPoolProfileProperties.upgradeStrategy
+ = UpgradeStrategy.fromString(reader.getString());
+ } else if ("enableOSDiskFullCaching".equals(fieldName)) {
+ deserializedManagedClusterAgentPoolProfileProperties.enableOSDiskFullCaching
+ = reader.getNullable(JsonReader::getBoolean);
} else if ("upgradeSettings".equals(fieldName)) {
deserializedManagedClusterAgentPoolProfileProperties.upgradeSettings
= AgentPoolUpgradeSettings.fromJson(reader);
+ } else if ("upgradeSettingsBlueGreen".equals(fieldName)) {
+ deserializedManagedClusterAgentPoolProfileProperties.upgradeSettingsBlueGreen
+ = AgentPoolBlueGreenUpgradeSettings.fromJson(reader);
} else if ("provisioningState".equals(fieldName)) {
deserializedManagedClusterAgentPoolProfileProperties.provisioningState = reader.getString();
} else if ("powerState".equals(fieldName)) {
@@ -1833,6 +2042,10 @@ public static ManagedClusterAgentPoolProfileProperties fromJson(JsonReader jsonR
} else if ("nodeTaints".equals(fieldName)) {
List nodeTaints = reader.readArray(reader1 -> reader1.getString());
deserializedManagedClusterAgentPoolProfileProperties.nodeTaints = nodeTaints;
+ } else if ("nodeInitializationTaints".equals(fieldName)) {
+ List nodeInitializationTaints = reader.readArray(reader1 -> reader1.getString());
+ deserializedManagedClusterAgentPoolProfileProperties.nodeInitializationTaints
+ = nodeInitializationTaints;
} else if ("proximityPlacementGroupID".equals(fieldName)) {
deserializedManagedClusterAgentPoolProfileProperties.proximityPlacementGroupId = reader.getString();
} else if ("kubeletConfig".equals(fieldName)) {
@@ -1872,6 +2085,9 @@ public static ManagedClusterAgentPoolProfileProperties fromJson(JsonReader jsonR
} else if ("gatewayProfile".equals(fieldName)) {
deserializedManagedClusterAgentPoolProfileProperties.gatewayProfile
= AgentPoolGatewayProfile.fromJson(reader);
+ } else if ("artifactStreamingProfile".equals(fieldName)) {
+ deserializedManagedClusterAgentPoolProfileProperties.artifactStreamingProfile
+ = AgentPoolArtifactStreamingProfile.fromJson(reader);
} else if ("virtualMachinesProfile".equals(fieldName)) {
deserializedManagedClusterAgentPoolProfileProperties.virtualMachinesProfile
= VirtualMachinesProfile.fromJson(reader);
@@ -1885,6 +2101,9 @@ public static ManagedClusterAgentPoolProfileProperties fromJson(JsonReader jsonR
} else if ("localDNSProfile".equals(fieldName)) {
deserializedManagedClusterAgentPoolProfileProperties.localDnsProfile
= LocalDnsProfile.fromJson(reader);
+ } else if ("preparedImageSpecificationProfile".equals(fieldName)) {
+ deserializedManagedClusterAgentPoolProfileProperties.preparedImageSpecificationProfile
+ = PreparedImageSpecificationProfile.fromJson(reader);
} else {
reader.skipChildren();
}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterInner.java
index 97a5a4217b2a..19248ae17af7 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterInner.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterInner.java
@@ -13,6 +13,7 @@
import com.azure.resourcemanager.containerservice.models.ClusterUpgradeSettings;
import com.azure.resourcemanager.containerservice.models.ContainerServiceLinuxProfile;
import com.azure.resourcemanager.containerservice.models.ContainerServiceNetworkProfile;
+import com.azure.resourcemanager.containerservice.models.CreationData;
import com.azure.resourcemanager.containerservice.models.ExtendedLocation;
import com.azure.resourcemanager.containerservice.models.KubernetesSupportPlan;
import com.azure.resourcemanager.containerservice.models.ManagedClusterAIToolchainOperatorProfile;
@@ -23,6 +24,8 @@
import com.azure.resourcemanager.containerservice.models.ManagedClusterAutoUpgradeProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterAzureMonitorProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterBootstrapProfile;
+import com.azure.resourcemanager.containerservice.models.ManagedClusterControlPlaneScalingProfile;
+import com.azure.resourcemanager.containerservice.models.ManagedClusterHealthMonitorProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterHostedSystemProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterHttpProxyConfig;
import com.azure.resourcemanager.containerservice.models.ManagedClusterIdentity;
@@ -42,6 +45,7 @@
import com.azure.resourcemanager.containerservice.models.ManagedClusterWorkloadAutoScalerProfile;
import com.azure.resourcemanager.containerservice.models.PowerState;
import com.azure.resourcemanager.containerservice.models.PublicNetworkAccess;
+import com.azure.resourcemanager.containerservice.models.SchedulerProfile;
import com.azure.resourcemanager.containerservice.models.ServiceMeshProfile;
import com.azure.resourcemanager.containerservice.models.UserAssignedIdentity;
import java.io.IOException;
@@ -290,6 +294,31 @@ public PowerState powerState() {
return this.innerProperties() == null ? null : this.innerProperties().powerState();
}
+ /**
+ * Get the creationData property: CreationData to be used to specify the source Snapshot ID if the cluster 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 cluster will be
+ * created/upgraded using a snapshot.
+ *
+ * @param creationData the creationData value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withCreationData(CreationData creationData) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withCreationData(creationData);
+ return this;
+ }
+
/**
* Get the maxAgentPools property: The max number of agent pools for the managed cluster.
*
@@ -691,6 +720,35 @@ public ManagedClusterInner withSupportPlan(KubernetesSupportPlan supportPlan) {
return this;
}
+ /**
+ * Get the enableNamespaceResources property: Enable namespace as Azure resource. The default value is false. It can
+ * be enabled/disabled on creation and updating of the managed cluster. See
+ * [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as a ARM
+ * Resource.
+ *
+ * @return the enableNamespaceResources value.
+ */
+ public Boolean enableNamespaceResources() {
+ return this.innerProperties() == null ? null : this.innerProperties().enableNamespaceResources();
+ }
+
+ /**
+ * Set the enableNamespaceResources property: Enable namespace as Azure resource. The default value is false. It can
+ * be enabled/disabled on creation and updating of the managed cluster. See
+ * [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as a ARM
+ * Resource.
+ *
+ * @param enableNamespaceResources the enableNamespaceResources value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withEnableNamespaceResources(Boolean enableNamespaceResources) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withEnableNamespaceResources(enableNamespaceResources);
+ return this;
+ }
+
/**
* Get the networkProfile property: The network configuration profile.
*
@@ -1228,6 +1286,29 @@ public ManagedClusterAIToolchainOperatorProfile aiToolchainOperatorProfile() {
return this;
}
+ /**
+ * Get the schedulerProfile property: Profile of the pod scheduler configuration.
+ *
+ * @return the schedulerProfile value.
+ */
+ public SchedulerProfile schedulerProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().schedulerProfile();
+ }
+
+ /**
+ * Set the schedulerProfile property: Profile of the pod scheduler configuration.
+ *
+ * @param schedulerProfile the schedulerProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withSchedulerProfile(SchedulerProfile schedulerProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withSchedulerProfile(schedulerProfile);
+ return this;
+ }
+
/**
* Get the hostedSystemProfile property: Settings for hosted system addons. For more information, see
* https://aka.ms/aks/automatic/systemcomponents.
@@ -1253,6 +1334,57 @@ public ManagedClusterInner withHostedSystemProfile(ManagedClusterHostedSystemPro
return this;
}
+ /**
+ * Get the healthMonitorProfile property: Health monitor profile for the managed cluster.
+ *
+ * @return the healthMonitorProfile value.
+ */
+ public ManagedClusterHealthMonitorProfile healthMonitorProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().healthMonitorProfile();
+ }
+
+ /**
+ * Set the healthMonitorProfile property: Health monitor profile for the managed cluster.
+ *
+ * @param healthMonitorProfile the healthMonitorProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withHealthMonitorProfile(ManagedClusterHealthMonitorProfile healthMonitorProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withHealthMonitorProfile(healthMonitorProfile);
+ return this;
+ }
+
+ /**
+ * Get the controlPlaneScalingProfile property: Profile for providing scaled and performance guaranteed control
+ * plane capacity to deliver consistent performance under high workload. Requires Kubernetes version 1.33.0 or
+ * later.
+ *
+ * @return the controlPlaneScalingProfile value.
+ */
+ public ManagedClusterControlPlaneScalingProfile controlPlaneScalingProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().controlPlaneScalingProfile();
+ }
+
+ /**
+ * Set the controlPlaneScalingProfile property: Profile for providing scaled and performance guaranteed control
+ * plane capacity to deliver consistent performance under high workload. Requires Kubernetes version 1.33.0 or
+ * later.
+ *
+ * @param controlPlaneScalingProfile the controlPlaneScalingProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner
+ withControlPlaneScalingProfile(ManagedClusterControlPlaneScalingProfile controlPlaneScalingProfile) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterProperties();
+ }
+ this.innerProperties().withControlPlaneScalingProfile(controlPlaneScalingProfile);
+ return this;
+ }
+
/**
* Get the status property: Contains read-only information about the Managed Cluster.
*
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterProperties.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterProperties.java
index 5137a2c13c3a..506ba29905c5 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterProperties.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterProperties.java
@@ -12,6 +12,7 @@
import com.azure.resourcemanager.containerservice.models.ClusterUpgradeSettings;
import com.azure.resourcemanager.containerservice.models.ContainerServiceLinuxProfile;
import com.azure.resourcemanager.containerservice.models.ContainerServiceNetworkProfile;
+import com.azure.resourcemanager.containerservice.models.CreationData;
import com.azure.resourcemanager.containerservice.models.KubernetesSupportPlan;
import com.azure.resourcemanager.containerservice.models.ManagedClusterAIToolchainOperatorProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterAadProfile;
@@ -21,6 +22,8 @@
import com.azure.resourcemanager.containerservice.models.ManagedClusterAutoUpgradeProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterAzureMonitorProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterBootstrapProfile;
+import com.azure.resourcemanager.containerservice.models.ManagedClusterControlPlaneScalingProfile;
+import com.azure.resourcemanager.containerservice.models.ManagedClusterHealthMonitorProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterHostedSystemProfile;
import com.azure.resourcemanager.containerservice.models.ManagedClusterHttpProxyConfig;
import com.azure.resourcemanager.containerservice.models.ManagedClusterIngressProfile;
@@ -38,6 +41,7 @@
import com.azure.resourcemanager.containerservice.models.ManagedClusterWorkloadAutoScalerProfile;
import com.azure.resourcemanager.containerservice.models.PowerState;
import com.azure.resourcemanager.containerservice.models.PublicNetworkAccess;
+import com.azure.resourcemanager.containerservice.models.SchedulerProfile;
import com.azure.resourcemanager.containerservice.models.ServiceMeshProfile;
import com.azure.resourcemanager.containerservice.models.UserAssignedIdentity;
import java.io.IOException;
@@ -59,6 +63,12 @@ public final class ManagedClusterProperties implements JsonSerializable e.validate());
}
@@ -1296,9 +1445,18 @@ public void validate() {
if (aiToolchainOperatorProfile() != null) {
aiToolchainOperatorProfile().validate();
}
+ if (schedulerProfile() != null) {
+ schedulerProfile().validate();
+ }
if (hostedSystemProfile() != null) {
hostedSystemProfile().validate();
}
+ if (healthMonitorProfile() != null) {
+ healthMonitorProfile().validate();
+ }
+ if (controlPlaneScalingProfile() != null) {
+ controlPlaneScalingProfile().validate();
+ }
if (status() != null) {
status().validate();
}
@@ -1310,6 +1468,7 @@ public void validate() {
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("creationData", this.creationData);
jsonWriter.writeStringField("kubernetesVersion", this.kubernetesVersion);
jsonWriter.writeStringField("dnsPrefix", this.dnsPrefix);
jsonWriter.writeStringField("fqdnSubdomain", this.fqdnSubdomain);
@@ -1325,6 +1484,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeJsonField("nodeResourceGroupProfile", this.nodeResourceGroupProfile);
jsonWriter.writeBooleanField("enableRBAC", this.enableRbac);
jsonWriter.writeStringField("supportPlan", this.supportPlan == null ? null : this.supportPlan.toString());
+ jsonWriter.writeBooleanField("enableNamespaceResources", this.enableNamespaceResources);
jsonWriter.writeJsonField("networkProfile", this.networkProfile);
jsonWriter.writeJsonField("aadProfile", this.aadProfile);
jsonWriter.writeJsonField("autoUpgradeProfile", this.autoUpgradeProfile);
@@ -1350,7 +1510,10 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeJsonField("nodeProvisioningProfile", this.nodeProvisioningProfile);
jsonWriter.writeJsonField("bootstrapProfile", this.bootstrapProfile);
jsonWriter.writeJsonField("aiToolchainOperatorProfile", this.aiToolchainOperatorProfile);
+ jsonWriter.writeJsonField("schedulerProfile", this.schedulerProfile);
jsonWriter.writeJsonField("hostedSystemProfile", this.hostedSystemProfile);
+ jsonWriter.writeJsonField("healthMonitorProfile", this.healthMonitorProfile);
+ jsonWriter.writeJsonField("controlPlaneScalingProfile", this.controlPlaneScalingProfile);
jsonWriter.writeJsonField("status", this.status);
return jsonWriter.writeEndObject();
}
@@ -1374,6 +1537,8 @@ public static ManagedClusterProperties fromJson(JsonReader jsonReader) throws IO
deserializedManagedClusterProperties.provisioningState = reader.getString();
} else if ("powerState".equals(fieldName)) {
deserializedManagedClusterProperties.powerState = PowerState.fromJson(reader);
+ } else if ("creationData".equals(fieldName)) {
+ deserializedManagedClusterProperties.creationData = CreationData.fromJson(reader);
} else if ("maxAgentPools".equals(fieldName)) {
deserializedManagedClusterProperties.maxAgentPools = reader.getNullable(JsonReader::getInt);
} else if ("kubernetesVersion".equals(fieldName)) {
@@ -1421,6 +1586,9 @@ public static ManagedClusterProperties fromJson(JsonReader jsonReader) throws IO
} else if ("supportPlan".equals(fieldName)) {
deserializedManagedClusterProperties.supportPlan
= KubernetesSupportPlan.fromString(reader.getString());
+ } else if ("enableNamespaceResources".equals(fieldName)) {
+ deserializedManagedClusterProperties.enableNamespaceResources
+ = reader.getNullable(JsonReader::getBoolean);
} else if ("networkProfile".equals(fieldName)) {
deserializedManagedClusterProperties.networkProfile
= ContainerServiceNetworkProfile.fromJson(reader);
@@ -1484,9 +1652,17 @@ public static ManagedClusterProperties fromJson(JsonReader jsonReader) throws IO
} else if ("aiToolchainOperatorProfile".equals(fieldName)) {
deserializedManagedClusterProperties.aiToolchainOperatorProfile
= ManagedClusterAIToolchainOperatorProfile.fromJson(reader);
+ } else if ("schedulerProfile".equals(fieldName)) {
+ deserializedManagedClusterProperties.schedulerProfile = SchedulerProfile.fromJson(reader);
} else if ("hostedSystemProfile".equals(fieldName)) {
deserializedManagedClusterProperties.hostedSystemProfile
= ManagedClusterHostedSystemProfile.fromJson(reader);
+ } else if ("healthMonitorProfile".equals(fieldName)) {
+ deserializedManagedClusterProperties.healthMonitorProfile
+ = ManagedClusterHealthMonitorProfile.fromJson(reader);
+ } else if ("controlPlaneScalingProfile".equals(fieldName)) {
+ deserializedManagedClusterProperties.controlPlaneScalingProfile
+ = ManagedClusterControlPlaneScalingProfile.fromJson(reader);
} else if ("status".equals(fieldName)) {
deserializedManagedClusterProperties.status = ManagedClusterStatus.fromJson(reader);
} else {
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterSnapshotInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterSnapshotInner.java
new file mode 100644
index 000000000000..ad04226937af
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterSnapshotInner.java
@@ -0,0 +1,240 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.CreationData;
+import com.azure.resourcemanager.containerservice.models.ManagedClusterPropertiesForSnapshot;
+import com.azure.resourcemanager.containerservice.models.SnapshotType;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * A managed cluster snapshot resource.
+ */
+@Fluent
+public final class ManagedClusterSnapshotInner extends Resource {
+ /*
+ * Properties of a managed cluster snapshot.
+ */
+ private ManagedClusterSnapshotProperties innerProperties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ManagedClusterSnapshotInner class.
+ */
+ public ManagedClusterSnapshotInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Properties of a managed cluster snapshot.
+ *
+ * @return the innerProperties value.
+ */
+ private ManagedClusterSnapshotProperties 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;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ManagedClusterSnapshotInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ManagedClusterSnapshotInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the creationData property: CreationData to be used to specify the source resource ID to create this 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 resource ID to create this snapshot.
+ *
+ * @param creationData the creationData value to set.
+ * @return the ManagedClusterSnapshotInner object itself.
+ */
+ public ManagedClusterSnapshotInner withCreationData(CreationData creationData) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterSnapshotProperties();
+ }
+ this.innerProperties().withCreationData(creationData);
+ return this;
+ }
+
+ /**
+ * Get the snapshotType property: The type of a snapshot. The default is NodePool.
+ *
+ * @return the snapshotType value.
+ */
+ public SnapshotType snapshotType() {
+ return this.innerProperties() == null ? null : this.innerProperties().snapshotType();
+ }
+
+ /**
+ * Set the snapshotType property: The type of a snapshot. The default is NodePool.
+ *
+ * @param snapshotType the snapshotType value to set.
+ * @return the ManagedClusterSnapshotInner object itself.
+ */
+ public ManagedClusterSnapshotInner withSnapshotType(SnapshotType snapshotType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ManagedClusterSnapshotProperties();
+ }
+ this.innerProperties().withSnapshotType(snapshotType);
+ return this;
+ }
+
+ /**
+ * Get the managedClusterPropertiesReadOnly property: What the properties will be showed when getting managed
+ * cluster snapshot. Those properties are read-only.
+ *
+ * @return the managedClusterPropertiesReadOnly value.
+ */
+ public ManagedClusterPropertiesForSnapshot managedClusterPropertiesReadOnly() {
+ return this.innerProperties() == null ? null : this.innerProperties().managedClusterPropertiesReadOnly();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ManagedClusterSnapshotInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ManagedClusterSnapshotInner if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ManagedClusterSnapshotInner.
+ */
+ public static ManagedClusterSnapshotInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ManagedClusterSnapshotInner deserializedManagedClusterSnapshotInner = new ManagedClusterSnapshotInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedManagedClusterSnapshotInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedManagedClusterSnapshotInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedManagedClusterSnapshotInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedManagedClusterSnapshotInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedManagedClusterSnapshotInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedManagedClusterSnapshotInner.innerProperties
+ = ManagedClusterSnapshotProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedManagedClusterSnapshotInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedManagedClusterSnapshotInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterSnapshotProperties.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterSnapshotProperties.java
new file mode 100644
index 000000000000..e1a44d06f3a7
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ManagedClusterSnapshotProperties.java
@@ -0,0 +1,150 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.CreationData;
+import com.azure.resourcemanager.containerservice.models.ManagedClusterPropertiesForSnapshot;
+import com.azure.resourcemanager.containerservice.models.SnapshotType;
+import java.io.IOException;
+
+/**
+ * Properties for a managed cluster snapshot.
+ */
+@Fluent
+public final class ManagedClusterSnapshotProperties implements JsonSerializable {
+ /*
+ * CreationData to be used to specify the source resource ID to create this snapshot.
+ */
+ private CreationData creationData;
+
+ /*
+ * The type of a snapshot. The default is NodePool.
+ */
+ private SnapshotType snapshotType;
+
+ /*
+ * What the properties will be showed when getting managed cluster snapshot. Those properties are read-only.
+ */
+ private ManagedClusterPropertiesForSnapshot managedClusterPropertiesReadOnly;
+
+ /**
+ * Creates an instance of ManagedClusterSnapshotProperties class.
+ */
+ public ManagedClusterSnapshotProperties() {
+ }
+
+ /**
+ * Get the creationData property: CreationData to be used to specify the source resource ID to create this snapshot.
+ *
+ * @return the creationData value.
+ */
+ public CreationData creationData() {
+ return this.creationData;
+ }
+
+ /**
+ * Set the creationData property: CreationData to be used to specify the source resource ID to create this snapshot.
+ *
+ * @param creationData the creationData value to set.
+ * @return the ManagedClusterSnapshotProperties object itself.
+ */
+ public ManagedClusterSnapshotProperties withCreationData(CreationData creationData) {
+ this.creationData = creationData;
+ return this;
+ }
+
+ /**
+ * Get the snapshotType property: The type of a snapshot. The default is NodePool.
+ *
+ * @return the snapshotType value.
+ */
+ public SnapshotType snapshotType() {
+ return this.snapshotType;
+ }
+
+ /**
+ * Set the snapshotType property: The type of a snapshot. The default is NodePool.
+ *
+ * @param snapshotType the snapshotType value to set.
+ * @return the ManagedClusterSnapshotProperties object itself.
+ */
+ public ManagedClusterSnapshotProperties withSnapshotType(SnapshotType snapshotType) {
+ this.snapshotType = snapshotType;
+ return this;
+ }
+
+ /**
+ * Get the managedClusterPropertiesReadOnly property: What the properties will be showed when getting managed
+ * cluster snapshot. Those properties are read-only.
+ *
+ * @return the managedClusterPropertiesReadOnly value.
+ */
+ public ManagedClusterPropertiesForSnapshot managedClusterPropertiesReadOnly() {
+ return this.managedClusterPropertiesReadOnly;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (creationData() != null) {
+ creationData().validate();
+ }
+ if (managedClusterPropertiesReadOnly() != null) {
+ managedClusterPropertiesReadOnly().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("creationData", this.creationData);
+ jsonWriter.writeStringField("snapshotType", this.snapshotType == null ? null : this.snapshotType.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ManagedClusterSnapshotProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ManagedClusterSnapshotProperties if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ManagedClusterSnapshotProperties.
+ */
+ public static ManagedClusterSnapshotProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ManagedClusterSnapshotProperties deserializedManagedClusterSnapshotProperties
+ = new ManagedClusterSnapshotProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("creationData".equals(fieldName)) {
+ deserializedManagedClusterSnapshotProperties.creationData = CreationData.fromJson(reader);
+ } else if ("snapshotType".equals(fieldName)) {
+ deserializedManagedClusterSnapshotProperties.snapshotType
+ = SnapshotType.fromString(reader.getString());
+ } else if ("managedClusterPropertiesReadOnly".equals(fieldName)) {
+ deserializedManagedClusterSnapshotProperties.managedClusterPropertiesReadOnly
+ = ManagedClusterPropertiesForSnapshot.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedManagedClusterSnapshotProperties;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/MeshMembershipInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/MeshMembershipInner.java
new file mode 100644
index 000000000000..ead228ed0798
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/MeshMembershipInner.java
@@ -0,0 +1,222 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.MeshMembershipProperties;
+import java.io.IOException;
+
+/**
+ * Mesh membership of a managed cluster.
+ */
+@Fluent
+public final class MeshMembershipInner extends ProxyResource {
+ /*
+ * Mesh membership properties of a managed cluster.
+ */
+ private MeshMembershipProperties properties;
+
+ /*
+ * The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed
+ * by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is
+ * removed from the template since it is managed by another resource.
+ */
+ private String managedBy;
+
+ /*
+ * If eTag is provided in the response body, it may also be provided as a header per the normal etag convention.
+ * Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity
+ * tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section
+ * 14.27) header fields.
+ */
+ private String eTag;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of MeshMembershipInner class.
+ */
+ public MeshMembershipInner() {
+ }
+
+ /**
+ * Get the properties property: Mesh membership properties of a managed cluster.
+ *
+ * @return the properties value.
+ */
+ public MeshMembershipProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Mesh membership properties of a managed cluster.
+ *
+ * @param properties the properties value to set.
+ * @return the MeshMembershipInner object itself.
+ */
+ public MeshMembershipInner withProperties(MeshMembershipProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the managedBy property: The fully qualified resource ID of the resource that manages this resource. Indicates
+ * if this resource is managed by another Azure resource. If this is present, complete mode deployment will not
+ * delete the resource if it is removed from the template since it is managed by another resource.
+ *
+ * @return the managedBy value.
+ */
+ public String managedBy() {
+ return this.managedBy;
+ }
+
+ /**
+ * Set the managedBy property: The fully qualified resource ID of the resource that manages this resource. Indicates
+ * if this resource is managed by another Azure resource. If this is present, complete mode deployment will not
+ * delete the resource if it is removed from the template since it is managed by another resource.
+ *
+ * @param managedBy the managedBy value to set.
+ * @return the MeshMembershipInner object itself.
+ */
+ public MeshMembershipInner withManagedBy(String managedBy) {
+ this.managedBy = managedBy;
+ return this;
+ }
+
+ /**
+ * Get the eTag property: If eTag is provided in the response body, it may also be provided as a header per the
+ * normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource.
+ * HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26),
+ * and If-Range (section 14.27) header fields.
+ *
+ * @return the eTag value.
+ */
+ public String eTag() {
+ return this.eTag;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeStringField("managedBy", this.managedBy);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of MeshMembershipInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of MeshMembershipInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the MeshMembershipInner.
+ */
+ public static MeshMembershipInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ MeshMembershipInner deserializedMeshMembershipInner = new MeshMembershipInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedMeshMembershipInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedMeshMembershipInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedMeshMembershipInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedMeshMembershipInner.properties = MeshMembershipProperties.fromJson(reader);
+ } else if ("managedBy".equals(fieldName)) {
+ deserializedMeshMembershipInner.managedBy = reader.getString();
+ } else if ("eTag".equals(fieldName)) {
+ deserializedMeshMembershipInner.eTag = reader.getString();
+ } else if ("systemData".equals(fieldName)) {
+ deserializedMeshMembershipInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedMeshMembershipInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/NodeImageVersionInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/NodeImageVersionInner.java
new file mode 100644
index 000000000000..50dab7b1d2a6
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/NodeImageVersionInner.java
@@ -0,0 +1,134 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * node image version profile for given major.minor.patch release.
+ */
+@Immutable
+public final class NodeImageVersionInner implements JsonSerializable {
+ /*
+ * The operating system of the node image. Example: AKSUbuntu
+ */
+ private String os;
+
+ /*
+ * The SKU or flavor of the node image. Example: 2004gen2containerd
+ */
+ private String sku;
+
+ /*
+ * major.minor.patch version of the node image version release. Example: 2024.02.02
+ */
+ private String version;
+
+ /*
+ * The OS + SKU + version of the node image. Example: AKSUbuntu-1804gen2containerd-2024.02.02
+ */
+ private String fullName;
+
+ /**
+ * Creates an instance of NodeImageVersionInner class.
+ */
+ private NodeImageVersionInner() {
+ }
+
+ /**
+ * Get the os property: The operating system of the node image. Example: AKSUbuntu.
+ *
+ * @return the os value.
+ */
+ public String os() {
+ return this.os;
+ }
+
+ /**
+ * Get the sku property: The SKU or flavor of the node image. Example: 2004gen2containerd.
+ *
+ * @return the sku value.
+ */
+ public String sku() {
+ return this.sku;
+ }
+
+ /**
+ * Get the version property: major.minor.patch version of the node image version release. Example: 2024.02.02.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Get the fullName property: The OS + SKU + version of the node image. Example:
+ * AKSUbuntu-1804gen2containerd-2024.02.02.
+ *
+ * @return the fullName value.
+ */
+ public String fullName() {
+ return this.fullName;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("os", this.os);
+ jsonWriter.writeStringField("sku", this.sku);
+ jsonWriter.writeStringField("version", this.version);
+ jsonWriter.writeStringField("fullName", this.fullName);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NodeImageVersionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NodeImageVersionInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the NodeImageVersionInner.
+ */
+ public static NodeImageVersionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NodeImageVersionInner deserializedNodeImageVersionInner = new NodeImageVersionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("os".equals(fieldName)) {
+ deserializedNodeImageVersionInner.os = reader.getString();
+ } else if ("sku".equals(fieldName)) {
+ deserializedNodeImageVersionInner.sku = reader.getString();
+ } else if ("version".equals(fieldName)) {
+ deserializedNodeImageVersionInner.version = reader.getString();
+ } else if ("fullName".equals(fieldName)) {
+ deserializedNodeImageVersionInner.fullName = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNodeImageVersionInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/OperationStatusResultInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/OperationStatusResultInner.java
new file mode 100644
index 000000000000..66a673ace75f
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/OperationStatusResultInner.java
@@ -0,0 +1,241 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.util.CoreUtils;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * The current status of an async operation.
+ */
+@Immutable
+public final class OperationStatusResultInner implements JsonSerializable {
+ /*
+ * Fully qualified ID for the async operation.
+ */
+ private String id;
+
+ /*
+ * Name of the async operation.
+ */
+ private String name;
+
+ /*
+ * Operation status.
+ */
+ private String status;
+
+ /*
+ * Percent of the operation that is complete.
+ */
+ private Double percentComplete;
+
+ /*
+ * The start time of the operation.
+ */
+ private OffsetDateTime startTime;
+
+ /*
+ * The end time of the operation.
+ */
+ private OffsetDateTime endTime;
+
+ /*
+ * The operations list.
+ */
+ private List operations;
+
+ /*
+ * If present, details of the operation error.
+ */
+ private ManagementError error;
+
+ /*
+ * Fully qualified ID of the resource against which the original async operation was started.
+ */
+ private String resourceId;
+
+ /**
+ * Creates an instance of OperationStatusResultInner class.
+ */
+ private OperationStatusResultInner() {
+ }
+
+ /**
+ * Get the id property: Fully qualified ID for the async operation.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: Name of the async operation.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the status property: Operation status.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Get the percentComplete property: Percent of the operation that is complete.
+ *
+ * @return the percentComplete value.
+ */
+ public Double percentComplete() {
+ return this.percentComplete;
+ }
+
+ /**
+ * Get the startTime property: The start time of the operation.
+ *
+ * @return the startTime value.
+ */
+ public OffsetDateTime startTime() {
+ return this.startTime;
+ }
+
+ /**
+ * Get the endTime property: The end time of the operation.
+ *
+ * @return the endTime value.
+ */
+ public OffsetDateTime endTime() {
+ return this.endTime;
+ }
+
+ /**
+ * Get the operations property: The operations list.
+ *
+ * @return the operations value.
+ */
+ public List operations() {
+ return this.operations;
+ }
+
+ /**
+ * Get the error property: If present, details of the operation error.
+ *
+ * @return the error value.
+ */
+ public ManagementError error() {
+ return this.error;
+ }
+
+ /**
+ * Get the resourceId property: Fully qualified ID of the resource against which the original async operation was
+ * started.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (status() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property status in model OperationStatusResultInner"));
+ }
+ if (operations() != null) {
+ operations().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(OperationStatusResultInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("status", this.status);
+ jsonWriter.writeStringField("id", this.id);
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeNumberField("percentComplete", this.percentComplete);
+ jsonWriter.writeStringField("startTime",
+ this.startTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.startTime));
+ jsonWriter.writeStringField("endTime",
+ this.endTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.endTime));
+ jsonWriter.writeArrayField("operations", this.operations, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeJsonField("error", this.error);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationStatusResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationStatusResultInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the OperationStatusResultInner.
+ */
+ public static OperationStatusResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationStatusResultInner deserializedOperationStatusResultInner = new OperationStatusResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("status".equals(fieldName)) {
+ deserializedOperationStatusResultInner.status = reader.getString();
+ } else if ("id".equals(fieldName)) {
+ deserializedOperationStatusResultInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedOperationStatusResultInner.name = reader.getString();
+ } else if ("percentComplete".equals(fieldName)) {
+ deserializedOperationStatusResultInner.percentComplete = reader.getNullable(JsonReader::getDouble);
+ } else if ("startTime".equals(fieldName)) {
+ deserializedOperationStatusResultInner.startTime = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("endTime".equals(fieldName)) {
+ deserializedOperationStatusResultInner.endTime = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("operations".equals(fieldName)) {
+ List operations
+ = reader.readArray(reader1 -> OperationStatusResultInner.fromJson(reader1));
+ deserializedOperationStatusResultInner.operations = operations;
+ } else if ("error".equals(fieldName)) {
+ deserializedOperationStatusResultInner.error = ManagementError.fromJson(reader);
+ } else if ("resourceId".equals(fieldName)) {
+ deserializedOperationStatusResultInner.resourceId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationStatusResultInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ResourceSkuInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ResourceSkuInner.java
new file mode 100644
index 000000000000..37c271dfea79
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/ResourceSkuInner.java
@@ -0,0 +1,307 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.ResourceSkuCapabilities;
+import com.azure.resourcemanager.containerservice.models.ResourceSkuCapacity;
+import com.azure.resourcemanager.containerservice.models.ResourceSkuCosts;
+import com.azure.resourcemanager.containerservice.models.ResourceSkuLocationInfo;
+import com.azure.resourcemanager.containerservice.models.ResourceSkuRestrictions;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Describes an available Compute SKU.
+ */
+@Immutable
+public final class ResourceSkuInner implements JsonSerializable {
+ /*
+ * The type of resource the SKU applies to.
+ */
+ private String resourceType;
+
+ /*
+ * The name of SKU.
+ */
+ private String name;
+
+ /*
+ * Specifies the tier of virtual machines in a scale set.
Possible Values:
**Standard**
**Basic**
+ */
+ private String tier;
+
+ /*
+ * The Size of the SKU.
+ */
+ private String size;
+
+ /*
+ * The Family of this particular SKU.
+ */
+ private String family;
+
+ /*
+ * The Kind of resources that are supported in this SKU.
+ */
+ private String kind;
+
+ /*
+ * Specifies the number of virtual machines in the scale set.
+ */
+ private ResourceSkuCapacity capacity;
+
+ /*
+ * The set of locations that the SKU is available.
+ */
+ private List locations;
+
+ /*
+ * A list of locations and availability zones in those locations where the SKU is available.
+ */
+ private List locationInfo;
+
+ /*
+ * The api versions that support this SKU.
+ */
+ private List apiVersions;
+
+ /*
+ * Metadata for retrieving price info.
+ */
+ private List costs;
+
+ /*
+ * A name value pair to describe the capability.
+ */
+ private List capabilities;
+
+ /*
+ * The restrictions because of which SKU cannot be used. This is empty if there are no restrictions.
+ */
+ private List restrictions;
+
+ /**
+ * Creates an instance of ResourceSkuInner class.
+ */
+ private ResourceSkuInner() {
+ }
+
+ /**
+ * Get the resourceType property: The type of resource the SKU applies to.
+ *
+ * @return the resourceType value.
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Get the name property: The name of SKU.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the tier property: Specifies the tier of virtual machines in a scale set.<br /><br /> Possible
+ * Values:<br /><br /> **Standard**<br /><br /> **Basic**.
+ *
+ * @return the tier value.
+ */
+ public String tier() {
+ return this.tier;
+ }
+
+ /**
+ * Get the size property: The Size of the SKU.
+ *
+ * @return the size value.
+ */
+ public String size() {
+ return this.size;
+ }
+
+ /**
+ * Get the family property: The Family of this particular SKU.
+ *
+ * @return the family value.
+ */
+ public String family() {
+ return this.family;
+ }
+
+ /**
+ * Get the kind property: The Kind of resources that are supported in this SKU.
+ *
+ * @return the kind value.
+ */
+ public String kind() {
+ return this.kind;
+ }
+
+ /**
+ * Get the capacity property: Specifies the number of virtual machines in the scale set.
+ *
+ * @return the capacity value.
+ */
+ public ResourceSkuCapacity capacity() {
+ return this.capacity;
+ }
+
+ /**
+ * Get the locations property: The set of locations that the SKU is available.
+ *
+ * @return the locations value.
+ */
+ public List locations() {
+ return this.locations;
+ }
+
+ /**
+ * Get the locationInfo property: A list of locations and availability zones in those locations where the SKU is
+ * available.
+ *
+ * @return the locationInfo value.
+ */
+ public List locationInfo() {
+ return this.locationInfo;
+ }
+
+ /**
+ * Get the apiVersions property: The api versions that support this SKU.
+ *
+ * @return the apiVersions value.
+ */
+ public List apiVersions() {
+ return this.apiVersions;
+ }
+
+ /**
+ * Get the costs property: Metadata for retrieving price info.
+ *
+ * @return the costs value.
+ */
+ public List costs() {
+ return this.costs;
+ }
+
+ /**
+ * Get the capabilities property: A name value pair to describe the capability.
+ *
+ * @return the capabilities value.
+ */
+ public List capabilities() {
+ return this.capabilities;
+ }
+
+ /**
+ * Get the restrictions property: The restrictions because of which SKU cannot be used. This is empty if there are
+ * no restrictions.
+ *
+ * @return the restrictions value.
+ */
+ public List restrictions() {
+ return this.restrictions;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (capacity() != null) {
+ capacity().validate();
+ }
+ if (locationInfo() != null) {
+ locationInfo().forEach(e -> e.validate());
+ }
+ if (costs() != null) {
+ costs().forEach(e -> e.validate());
+ }
+ if (capabilities() != null) {
+ capabilities().forEach(e -> e.validate());
+ }
+ if (restrictions() != null) {
+ restrictions().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ResourceSkuInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ResourceSkuInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ResourceSkuInner.
+ */
+ public static ResourceSkuInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ResourceSkuInner deserializedResourceSkuInner = new ResourceSkuInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("resourceType".equals(fieldName)) {
+ deserializedResourceSkuInner.resourceType = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedResourceSkuInner.name = reader.getString();
+ } else if ("tier".equals(fieldName)) {
+ deserializedResourceSkuInner.tier = reader.getString();
+ } else if ("size".equals(fieldName)) {
+ deserializedResourceSkuInner.size = reader.getString();
+ } else if ("family".equals(fieldName)) {
+ deserializedResourceSkuInner.family = reader.getString();
+ } else if ("kind".equals(fieldName)) {
+ deserializedResourceSkuInner.kind = reader.getString();
+ } else if ("capacity".equals(fieldName)) {
+ deserializedResourceSkuInner.capacity = ResourceSkuCapacity.fromJson(reader);
+ } else if ("locations".equals(fieldName)) {
+ List locations = reader.readArray(reader1 -> reader1.getString());
+ deserializedResourceSkuInner.locations = locations;
+ } else if ("locationInfo".equals(fieldName)) {
+ List locationInfo
+ = reader.readArray(reader1 -> ResourceSkuLocationInfo.fromJson(reader1));
+ deserializedResourceSkuInner.locationInfo = locationInfo;
+ } else if ("apiVersions".equals(fieldName)) {
+ List apiVersions = reader.readArray(reader1 -> reader1.getString());
+ deserializedResourceSkuInner.apiVersions = apiVersions;
+ } else if ("costs".equals(fieldName)) {
+ List costs = reader.readArray(reader1 -> ResourceSkuCosts.fromJson(reader1));
+ deserializedResourceSkuInner.costs = costs;
+ } else if ("capabilities".equals(fieldName)) {
+ List capabilities
+ = reader.readArray(reader1 -> ResourceSkuCapabilities.fromJson(reader1));
+ deserializedResourceSkuInner.capabilities = capabilities;
+ } else if ("restrictions".equals(fieldName)) {
+ List restrictions
+ = reader.readArray(reader1 -> ResourceSkuRestrictions.fromJson(reader1));
+ deserializedResourceSkuInner.restrictions = restrictions;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedResourceSkuInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/SafeguardsAvailableVersionInner.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/SafeguardsAvailableVersionInner.java
new file mode 100644
index 000000000000..edfa11b669ba
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/fluent/models/SafeguardsAvailableVersionInner.java
@@ -0,0 +1,164 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.containerservice.models.SafeguardsAvailableVersionsProperties;
+import java.io.IOException;
+
+/**
+ * Available Safeguards Version.
+ */
+@Immutable
+public final class SafeguardsAvailableVersionInner extends ProxyResource {
+ /*
+ * Whether the version is default or not and support info.
+ */
+ private SafeguardsAvailableVersionsProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of SafeguardsAvailableVersionInner class.
+ */
+ private SafeguardsAvailableVersionInner() {
+ }
+
+ /**
+ * Get the properties property: Whether the version is default or not and support info.
+ *
+ * @return the properties value.
+ */
+ public SafeguardsAvailableVersionsProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property properties in model SafeguardsAvailableVersionInner"));
+ } else {
+ properties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(SafeguardsAvailableVersionInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SafeguardsAvailableVersionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SafeguardsAvailableVersionInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SafeguardsAvailableVersionInner.
+ */
+ public static SafeguardsAvailableVersionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SafeguardsAvailableVersionInner deserializedSafeguardsAvailableVersionInner
+ = new SafeguardsAvailableVersionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSafeguardsAvailableVersionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedSafeguardsAvailableVersionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedSafeguardsAvailableVersionInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedSafeguardsAvailableVersionInner.properties
+ = SafeguardsAvailableVersionsProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedSafeguardsAvailableVersionInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSafeguardsAvailableVersionInner;
+ });
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/AgentPoolsClientImpl.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/AgentPoolsClientImpl.java
index b6fe3e48afd6..0d6e4e6f01a5 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/AgentPoolsClientImpl.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/AgentPoolsClientImpl.java
@@ -123,6 +123,15 @@ Mono>> abortLatestOperation(@HostParam("endpoint") Str
@PathParam("resourceGroupName") String resourceGroupName, @PathParam("resourceName") String resourceName,
@PathParam("agentPoolName") String agentPoolName, Context context);
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/completeUpgrade")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> completeUpgrade(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("resourceName") String resourceName,
+ @PathParam("agentPoolName") String agentPoolName, Context context);
+
@Headers({ "Accept: application/json;q=0.9" })
@Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/deleteMachines")
@ExpectedResponses({ 202 })
@@ -1326,6 +1335,246 @@ public void abortLatestOperation(String resourceGroupName, String resourceName,
abortLatestOperationAsync(resourceGroupName, resourceName, agentPoolName, context).block();
}
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono>> completeUpgradeWithResponseAsync(String resourceGroupName,
+ String resourceName, String agentPoolName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (agentPoolName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter agentPoolName is required and cannot be null."));
+ }
+ return FluxUtil
+ .withContext(context -> service.completeUpgrade(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, resourceName, agentPoolName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> completeUpgradeWithResponseAsync(String resourceGroupName,
+ String resourceName, String agentPoolName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (agentPoolName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter agentPoolName is required and cannot be null."));
+ }
+ context = this.client.mergeContext(context);
+ return service.completeUpgrade(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, resourceName, agentPoolName, context);
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFlux, Void> beginCompleteUpgradeAsync(String resourceGroupName, String resourceName,
+ String agentPoolName) {
+ Mono>> mono
+ = completeUpgradeWithResponseAsync(resourceGroupName, resourceName, agentPoolName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginCompleteUpgradeAsync(String resourceGroupName, String resourceName,
+ String agentPoolName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = completeUpgradeWithResponseAsync(resourceGroupName, resourceName, agentPoolName, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ context);
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginCompleteUpgrade(String resourceGroupName, String resourceName,
+ String agentPoolName) {
+ return this.beginCompleteUpgradeAsync(resourceGroupName, resourceName, agentPoolName).getSyncPoller();
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginCompleteUpgrade(String resourceGroupName, String resourceName,
+ String agentPoolName, Context context) {
+ return this.beginCompleteUpgradeAsync(resourceGroupName, resourceName, agentPoolName, context).getSyncPoller();
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono completeUpgradeAsync(String resourceGroupName, String resourceName, String agentPoolName) {
+ return beginCompleteUpgradeAsync(resourceGroupName, resourceName, agentPoolName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono completeUpgradeAsync(String resourceGroupName, String resourceName, String agentPoolName,
+ Context context) {
+ return beginCompleteUpgradeAsync(resourceGroupName, resourceName, agentPoolName, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void completeUpgrade(String resourceGroupName, String resourceName, String agentPoolName) {
+ completeUpgradeAsync(resourceGroupName, resourceName, agentPoolName).block();
+ }
+
+ /**
+ * Completes the upgrade of an agent pool.
+ *
+ * Completes the upgrade operation for 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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void completeUpgrade(String resourceGroupName, String resourceName, String agentPoolName, Context context) {
+ completeUpgradeAsync(resourceGroupName, resourceName, agentPoolName, context).block();
+ }
+
/**
* Deletes specific machines in an agent pool.
*
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/ContainerServiceManagementClientImpl.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/ContainerServiceManagementClientImpl.java
index 9f6128adfc79..570f29259f74 100644
--- a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/ContainerServiceManagementClientImpl.java
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/ContainerServiceManagementClientImpl.java
@@ -10,10 +10,16 @@
import com.azure.core.util.serializer.SerializerAdapter;
import com.azure.resourcemanager.containerservice.fluent.AgentPoolsClient;
import com.azure.resourcemanager.containerservice.fluent.ContainerServiceManagementClient;
+import com.azure.resourcemanager.containerservice.fluent.IdentityBindingsClient;
+import com.azure.resourcemanager.containerservice.fluent.JWTAuthenticatorsClient;
+import com.azure.resourcemanager.containerservice.fluent.LoadBalancersClient;
import com.azure.resourcemanager.containerservice.fluent.MachinesClient;
import com.azure.resourcemanager.containerservice.fluent.MaintenanceConfigurationsClient;
+import com.azure.resourcemanager.containerservice.fluent.ManagedClusterSnapshotsClient;
import com.azure.resourcemanager.containerservice.fluent.ManagedClustersClient;
import com.azure.resourcemanager.containerservice.fluent.ManagedNamespacesClient;
+import com.azure.resourcemanager.containerservice.fluent.MeshMembershipsClient;
+import com.azure.resourcemanager.containerservice.fluent.OperationStatusResultsClient;
import com.azure.resourcemanager.containerservice.fluent.OperationsClient;
import com.azure.resourcemanager.containerservice.fluent.PrivateEndpointConnectionsClient;
import com.azure.resourcemanager.containerservice.fluent.PrivateLinkResourcesClient;
@@ -21,6 +27,7 @@
import com.azure.resourcemanager.containerservice.fluent.SnapshotsClient;
import com.azure.resourcemanager.containerservice.fluent.TrustedAccessRoleBindingsClient;
import com.azure.resourcemanager.containerservice.fluent.TrustedAccessRolesClient;
+import com.azure.resourcemanager.containerservice.fluent.VmSkusClient;
import com.azure.resourcemanager.resources.fluentcore.AzureServiceClient;
import java.time.Duration;
@@ -212,6 +219,20 @@ public SnapshotsClient getSnapshots() {
return this.snapshots;
}
+ /**
+ * The ManagedClusterSnapshotsClient object to access its operations.
+ */
+ private final ManagedClusterSnapshotsClient managedClusterSnapshots;
+
+ /**
+ * Gets the ManagedClusterSnapshotsClient object to access its operations.
+ *
+ * @return the ManagedClusterSnapshotsClient object.
+ */
+ public ManagedClusterSnapshotsClient getManagedClusterSnapshots() {
+ return this.managedClusterSnapshots;
+ }
+
/**
* The TrustedAccessRoleBindingsClient object to access its operations.
*/
@@ -226,6 +247,62 @@ public TrustedAccessRoleBindingsClient getTrustedAccessRoleBindings() {
return this.trustedAccessRoleBindings;
}
+ /**
+ * The LoadBalancersClient object to access its operations.
+ */
+ private final LoadBalancersClient loadBalancers;
+
+ /**
+ * Gets the LoadBalancersClient object to access its operations.
+ *
+ * @return the LoadBalancersClient object.
+ */
+ public LoadBalancersClient getLoadBalancers() {
+ return this.loadBalancers;
+ }
+
+ /**
+ * The IdentityBindingsClient object to access its operations.
+ */
+ private final IdentityBindingsClient identityBindings;
+
+ /**
+ * Gets the IdentityBindingsClient object to access its operations.
+ *
+ * @return the IdentityBindingsClient object.
+ */
+ public IdentityBindingsClient getIdentityBindings() {
+ return this.identityBindings;
+ }
+
+ /**
+ * The JWTAuthenticatorsClient object to access its operations.
+ */
+ private final JWTAuthenticatorsClient jWTAuthenticators;
+
+ /**
+ * Gets the JWTAuthenticatorsClient object to access its operations.
+ *
+ * @return the JWTAuthenticatorsClient object.
+ */
+ public JWTAuthenticatorsClient getJWTAuthenticators() {
+ return this.jWTAuthenticators;
+ }
+
+ /**
+ * The MeshMembershipsClient object to access its operations.
+ */
+ private final MeshMembershipsClient meshMemberships;
+
+ /**
+ * Gets the MeshMembershipsClient object to access its operations.
+ *
+ * @return the MeshMembershipsClient object.
+ */
+ public MeshMembershipsClient getMeshMemberships() {
+ return this.meshMemberships;
+ }
+
/**
* The OperationsClient object to access its operations.
*/
@@ -240,6 +317,20 @@ public OperationsClient getOperations() {
return this.operations;
}
+ /**
+ * The OperationStatusResultsClient object to access its operations.
+ */
+ private final OperationStatusResultsClient operationStatusResults;
+
+ /**
+ * Gets the OperationStatusResultsClient object to access its operations.
+ *
+ * @return the OperationStatusResultsClient object.
+ */
+ public OperationStatusResultsClient getOperationStatusResults() {
+ return this.operationStatusResults;
+ }
+
/**
* The PrivateLinkResourcesClient object to access its operations.
*/
@@ -282,6 +373,20 @@ public TrustedAccessRolesClient getTrustedAccessRoles() {
return this.trustedAccessRoles;
}
+ /**
+ * The VmSkusClient object to access its operations.
+ */
+ private final VmSkusClient vmSkus;
+
+ /**
+ * Gets the VmSkusClient object to access its operations.
+ *
+ * @return the VmSkusClient object.
+ */
+ public VmSkusClient getVmSkus() {
+ return this.vmSkus;
+ }
+
/**
* Initializes an instance of ContainerServiceManagementClient client.
*
@@ -300,7 +405,7 @@ public TrustedAccessRolesClient getTrustedAccessRoles() {
this.defaultPollInterval = defaultPollInterval;
this.endpoint = endpoint;
this.subscriptionId = subscriptionId;
- this.apiVersion = "2026-02-01";
+ this.apiVersion = "2026-02-02-preview";
this.agentPools = new AgentPoolsClientImpl(this);
this.managedClusters = new ManagedClustersClientImpl(this);
this.maintenanceConfigurations = new MaintenanceConfigurationsClientImpl(this);
@@ -308,10 +413,17 @@ public TrustedAccessRolesClient getTrustedAccessRoles() {
this.machines = new MachinesClientImpl(this);
this.privateEndpointConnections = new PrivateEndpointConnectionsClientImpl(this);
this.snapshots = new SnapshotsClientImpl(this);
+ this.managedClusterSnapshots = new ManagedClusterSnapshotsClientImpl(this);
this.trustedAccessRoleBindings = new TrustedAccessRoleBindingsClientImpl(this);
+ this.loadBalancers = new LoadBalancersClientImpl(this);
+ this.identityBindings = new IdentityBindingsClientImpl(this);
+ this.jWTAuthenticators = new JWTAuthenticatorsClientImpl(this);
+ this.meshMemberships = new MeshMembershipsClientImpl(this);
this.operations = new OperationsClientImpl(this);
+ this.operationStatusResults = new OperationStatusResultsClientImpl(this);
this.privateLinkResources = new PrivateLinkResourcesClientImpl(this);
this.resolvePrivateLinkServiceIds = new ResolvePrivateLinkServiceIdsClientImpl(this);
this.trustedAccessRoles = new TrustedAccessRolesClientImpl(this);
+ this.vmSkus = new VmSkusClientImpl(this);
}
}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/IdentityBindingsClientImpl.java b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/IdentityBindingsClientImpl.java
new file mode 100644
index 000000000000..b9020d4cdd3b
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/IdentityBindingsClientImpl.java
@@ -0,0 +1,934 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.containerservice.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.fluent.IdentityBindingsClient;
+import com.azure.resourcemanager.containerservice.fluent.models.IdentityBindingInner;
+import com.azure.resourcemanager.containerservice.implementation.models.IdentityBindingListResult;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in IdentityBindingsClient.
+ */
+public final class IdentityBindingsClientImpl implements IdentityBindingsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final IdentityBindingsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final ContainerServiceManagementClientImpl client;
+
+ /**
+ * Initializes an instance of IdentityBindingsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ IdentityBindingsClientImpl(ContainerServiceManagementClientImpl client) {
+ this.service
+ = RestProxy.create(IdentityBindingsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ContainerServiceManagementClientIdentityBindings to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "ContainerServiceManagementClientIdentityBindings")
+ public interface IdentityBindingsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("resourceName") String resourceName,
+ @PathParam("identityBindingName") String identityBindingName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("resourceName") String resourceName,
+ @PathParam("identityBindingName") String identityBindingName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") IdentityBindingInner parameters, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("resourceName") String resourceName,
+ @PathParam("identityBindingName") String identityBindingName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByManagedCluster(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("resourceName") String resourceName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByManagedClusterNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Identity Binding along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getWithResponseAsync(String resourceGroupName, String resourceName,
+ String identityBindingName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (identityBindingName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter identityBindingName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, resourceName, identityBindingName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity binding.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Identity Binding along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String resourceName,
+ String identityBindingName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (identityBindingName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter identityBindingName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, resourceName, identityBindingName, accept, context);
+ }
+
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Identity Binding on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getAsync(String resourceGroupName, String resourceName,
+ String identityBindingName) {
+ return getWithResponseAsync(resourceGroupName, resourceName, identityBindingName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity binding.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Identity Binding along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName, String resourceName,
+ String identityBindingName, Context context) {
+ return getWithResponseAsync(resourceGroupName, resourceName, identityBindingName, context).block();
+ }
+
+ /**
+ * Gets the specified Identity Binding.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the managed cluster resource.
+ * @param identityBindingName The name of the identity binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Identity Binding.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public IdentityBindingInner get(String resourceGroupName, String resourceName, String identityBindingName) {
+ return getWithResponse(resourceGroupName, resourceName, identityBindingName, Context.NONE).getValue();
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the IdentityBinding resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String resourceName, String identityBindingName, IdentityBindingInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (identityBindingName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter identityBindingName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, resourceName, identityBindingName, contentType,
+ accept, parameters, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the IdentityBinding resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String resourceName, String identityBindingName, IdentityBindingInner parameters, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (identityBindingName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter identityBindingName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, resourceName, identityBindingName, contentType, accept,
+ parameters, context);
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFlux, IdentityBindingInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String resourceName, String identityBindingName, IdentityBindingInner parameters) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, resourceName, identityBindingName, parameters);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ IdentityBindingInner.class, IdentityBindingInner.class, this.client.getContext());
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, IdentityBindingInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String resourceName, String identityBindingName, IdentityBindingInner parameters,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = createOrUpdateWithResponseAsync(resourceGroupName, resourceName,
+ identityBindingName, parameters, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ IdentityBindingInner.class, IdentityBindingInner.class, context);
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, IdentityBindingInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, String identityBindingName, IdentityBindingInner parameters) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, resourceName, identityBindingName, parameters)
+ .getSyncPoller();
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, IdentityBindingInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, String identityBindingName, IdentityBindingInner parameters,
+ Context context) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, resourceName, identityBindingName, parameters, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the IdentityBinding resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono createOrUpdateAsync(String resourceGroupName, String resourceName,
+ String identityBindingName, IdentityBindingInner parameters) {
+ return beginCreateOrUpdateAsync(resourceGroupName, resourceName, identityBindingName, parameters).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the IdentityBinding resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String resourceName,
+ String identityBindingName, IdentityBindingInner parameters, Context context) {
+ return beginCreateOrUpdateAsync(resourceGroupName, resourceName, identityBindingName, parameters, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public IdentityBindingInner createOrUpdate(String resourceGroupName, String resourceName,
+ String identityBindingName, IdentityBindingInner parameters) {
+ return createOrUpdateAsync(resourceGroupName, resourceName, identityBindingName, parameters).block();
+ }
+
+ /**
+ * Creates or updates an identity binding 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 identityBindingName The name of the identity binding.
+ * @param parameters The identity binding to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the IdentityBinding resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public IdentityBindingInner createOrUpdate(String resourceGroupName, String resourceName,
+ String identityBindingName, IdentityBindingInner parameters, Context context) {
+ return createOrUpdateAsync(resourceGroupName, resourceName, identityBindingName, parameters, context).block();
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono>> deleteWithResponseAsync(String resourceGroupName, String resourceName,
+ String identityBindingName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (identityBindingName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter identityBindingName is required and cannot be null."));
+ }
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, resourceName, identityBindingName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String resourceName,
+ String identityBindingName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (identityBindingName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter identityBindingName is required and cannot be null."));
+ }
+ context = this.client.mergeContext(context);
+ return service.delete(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, resourceName, identityBindingName, context);
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String resourceName,
+ String identityBindingName) {
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, resourceName, identityBindingName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String resourceName,
+ String identityBindingName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, resourceName, identityBindingName, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ context);
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName,
+ String identityBindingName) {
+ return this.beginDeleteAsync(resourceGroupName, resourceName, identityBindingName).getSyncPoller();
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName,
+ String identityBindingName, Context context) {
+ return this.beginDeleteAsync(resourceGroupName, resourceName, identityBindingName, context).getSyncPoller();
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono deleteAsync(String resourceGroupName, String resourceName, String identityBindingName) {
+ return beginDeleteAsync(resourceGroupName, resourceName, identityBindingName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String resourceName, String identityBindingName,
+ Context context) {
+ return beginDeleteAsync(resourceGroupName, resourceName, identityBindingName, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String resourceName, String identityBindingName) {
+ deleteAsync(resourceGroupName, resourceName, identityBindingName).block();
+ }
+
+ /**
+ * Deletes an identity binding 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 identityBindingName The name of the identity binding.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String resourceName, String identityBindingName, Context context) {
+ deleteAsync(resourceGroupName, resourceName, identityBindingName, context).block();
+ }
+
+ /**
+ * Gets a list of identity bindings 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 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 identity bindings in the specified managed cluster along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByManagedClusterSinglePageAsync(String resourceGroupName,
+ String resourceName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByManagedCluster(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, resourceName, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets a list of identity bindings 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 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 identity bindings in the specified managed cluster along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByManagedClusterSinglePageAsync(String resourceGroupName,
+ String resourceName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByManagedCluster(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, resourceName, accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * Gets a list of identity bindings 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 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 identity bindings in the specified managed cluster as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listByManagedClusterAsync(String resourceGroupName, String resourceName) {
+ return new PagedFlux<>(() -> listByManagedClusterSinglePageAsync(resourceGroupName, resourceName),
+ nextLink -> listByManagedClusterNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets a list of identity bindings 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 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 identity bindings in the specified managed cluster as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByManagedClusterAsync(String resourceGroupName, String resourceName,
+ Context context) {
+ return new PagedFlux<>(() -> listByManagedClusterSinglePageAsync(resourceGroupName, resourceName, context),
+ nextLink -> listByManagedClusterNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets a list of identity bindings 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 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 identity bindings in the specified managed cluster as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByManagedCluster(String resourceGroupName, String resourceName) {
+ return new PagedIterable<>(listByManagedClusterAsync(resourceGroupName, resourceName));
+ }
+
+ /**
+ * Gets a list of identity bindings 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 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 identity bindings in the specified managed cluster as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByManagedCluster(String resourceGroupName, String resourceName,
+ Context context) {
+ return new PagedIterable<>(listByManagedClusterAsync(resourceGroupName, resourceName, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of identity bindings in the specified managed cluster along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByManagedClusterNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByManagedClusterNext(nextLink, this.client.getEndpoint(), accept, context))
+ .