diff --git a/specification/containerservice/cspell.yaml b/specification/containerservice/cspell.yaml index c0106b321331..dae9963b73c4 100644 --- a/specification/containerservice/cspell.yaml +++ b/specification/containerservice/cspell.yaml @@ -50,7 +50,7 @@ words: - wmem overrides: - filename: >- - **/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/**/*json + **/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/**/*.{json,tsp} words: - acnstls - aksadvancednetworking @@ -58,4 +58,5 @@ overrides: - pdbs - trustedlaunch - undrainable - - vtpm \ No newline at end of file + - vtpm + \ No newline at end of file diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/AgentPool.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/AgentPool.tsp new file mode 100644 index 000000000000..9cb2d2a7b17b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/AgentPool.tsp @@ -0,0 +1,192 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * Agent Pool. + */ +@parentResource(ManagedCluster) +model AgentPool + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = AgentPool, + KeyName = "agentPoolName", + SegmentName = "agentPools", + NamePattern = "^[a-z][a-z0-9]{0,11}$" + >; +} + +@armResourceOperations(#{ allowStaticRoutes: true }) +interface AgentPools { + /** + * Gets the specified managed cluster agent pool. + */ + get is ArmResourceRead; + + /** + * Creates or updates an agent pool in the specified managed cluster. + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync< + AgentPool, + Parameters = { + /** + * The request should only proceed if an entity matches this string. + */ + @header + ifMatch?: string; + + /** + * The request should only proceed if no entity matches this string. + */ + @header + ifNoneMatch?: string; + }, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Deletes an agent pool in the specified managed cluster. + */ + delete is ArmResourceDeleteWithoutOkAsync< + AgentPool, + Parameters = { + /** + * ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @query("ignore-pod-disruption-budget") + `ignore-pod-disruption-budget`?: boolean; + + /** + * The request should only proceed if an entity matches this string. + */ + @header + ifMatch?: string; + } + >; + + /** + * Gets a list of agent pools in the specified managed cluster. + */ + list is ArmResourceListByParent; + + /** + * Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @action("abort") + @summary("Aborts last operation running on agent pool.") + abortLatestOperation is ArmResourceActionAsync< + AgentPool, + void, + NoContentResponse, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Completes the upgrade operation for the specified agent pool. + */ + @added(Versions.v2025_10_02_preview) + @summary("Completes the upgrade of an agent pool.") + completeUpgrade is ArmResourceActionAsyncBase< + AgentPool, + void, + ArmAcceptedLroResponse & + Azure.Core.Foundations.RetryAfterHeader>, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; + + /** + * Deletes specific machines in an agent pool. + */ + deleteMachines is ArmResourceActionAsyncBase< + AgentPool, + AgentPoolDeleteMachinesParameter, + ArmAcceptedLroResponse, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; + + /** + * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @summary("Upgrades the node image version of an agent pool to the latest.") + upgradeNodeImageVersion is ArmResourceActionAsyncBase< + AgentPool, + void, + { + ...AcceptedResponse; + ...ArmAsyncOperationHeader; + ...Azure.Core.Foundations.RetryAfterHeader; + + @body + body: AgentPool; + } | OkResponse, + Foundations.DefaultBaseParameters + >; + + /** + * Get the status of a specific operation in the specified agent pool. + */ + @get + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/operations/{operationId}") + @added(Versions.v2025_10_02_preview) + getByAgentPool is AgentPoolsOps.ActionSync< + AgentPool, + void, + ArmResponse, + Parameters = { + /** + * The ID of an ongoing async operation. + */ + @minLength(1) + @path + operationId: string; + } + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" +interface AgentPoolsOps + extends Azure.ResourceManager.Legacy.RoutedOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...ParentKeysOf, + }, + { + /** + * The name of the agent pool. + */ + @path + @pattern("^[a-z][a-z0-9]{0,11}$") + @segment("agentPools") + @maxLength(12) + @minLength(1) + agentPoolName: string, + }, + ErrorResponse, + #{ useStaticRoute: true } + > {} + +@@maxLength(AgentPool.name, 12); +@@minLength(AgentPool.name, 1); +@@doc(AgentPool.name, "The name of the agent pool."); +@@doc(AgentPool.properties, "Properties of an agent pool."); +@@doc(AgentPools.createOrUpdate::parameters.resource, + "The agent pool to create or update." +); +@@doc(AgentPools.deleteMachines::parameters.body, + "A list of machines from the agent pool to be deleted." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/AgentPoolUpgradeProfile.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/AgentPoolUpgradeProfile.tsp new file mode 100644 index 000000000000..b4779099ed92 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/AgentPoolUpgradeProfile.tsp @@ -0,0 +1,42 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./AgentPool.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.ContainerService; +/** + * The list of available upgrades for an agent pool. + */ +@singleton("default") +@parentResource(AgentPool) +model AgentPoolUpgradeProfile + is Azure.ResourceManager.ProxyResource< + AgentPoolUpgradeProfileProperties, + false + > { + ...ResourceNameParameter< + Resource = AgentPoolUpgradeProfile, + KeyName = "upgradeProfile", + SegmentName = "upgradeProfiles", + NamePattern = "" + >; +} + +@armResourceOperations(#{ omitTags: true }) +interface AgentPoolUpgradeProfiles { + /** + * Gets the upgrade profile for an agent pool. + */ + @tag("AgentPools") + getUpgradeProfile is ArmResourceRead; +} + +@@doc(AgentPoolUpgradeProfile.name, ""); +@@doc(AgentPoolUpgradeProfile.properties, + "The properties of the agent pool upgrade profile." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/GuardrailsAvailableVersion.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/GuardrailsAvailableVersion.tsp new file mode 100644 index 000000000000..ea3eeb1282f3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/GuardrailsAvailableVersion.tsp @@ -0,0 +1,58 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * Available Guardrails Version + */ +@added(Versions.v2025_10_02_preview) +@parentResource(SubscriptionLocationResource) +model GuardrailsAvailableVersion + is Azure.ResourceManager.ProxyResource< + GuardrailsAvailableVersionsProperties, + false + > { + ...ResourceNameParameter< + Resource = GuardrailsAvailableVersion, + KeyName = "version", + SegmentName = "guardrailsVersions", + NamePattern = "" + >; +} + +@armResourceOperations +@added(Versions.v2025_10_02_preview) +interface GuardrailsAvailableVersions { + /** + * Contains Guardrails version along with its support info and whether it is a default version. + */ + @summary("Gets supported Guardrails version in the specified subscription and location.") + getGuardrailsVersions is ArmResourceRead< + GuardrailsAvailableVersion, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + >; + + /** + * Contains list of Guardrails version along with its support info and whether it is a default version. + */ + @summary("Gets a list of supported Guardrails versions in the specified subscription and location.") + listGuardrailsVersions is ArmResourceListByParent< + GuardrailsAvailableVersion, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + Response = ArmResponse + >; +} + +@@maxLength(GuardrailsAvailableVersion.name, 24); +@@minLength(GuardrailsAvailableVersion.name, 1); +@@doc(GuardrailsAvailableVersion.name, "Safeguards version"); +@@doc(GuardrailsAvailableVersion.properties, + "Whether the version is default or not and support info." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/IdentityBinding.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/IdentityBinding.tsp new file mode 100644 index 000000000000..d830c957d02d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/IdentityBinding.tsp @@ -0,0 +1,69 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * The IdentityBinding resource. + */ +@parentResource(ManagedCluster) +@added(Versions.v2025_10_02_preview) +model IdentityBinding + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = IdentityBinding, + KeyName = "identityBindingName", + SegmentName = "identityBindings", + NamePattern = "^[a-z][a-z0-9]{0,63}$" + >; + ...Azure.ResourceManager.EntityTagProperty; +} + +@armResourceOperations +@added(Versions.v2025_10_02_preview) +interface IdentityBindings { + /** + * Gets the specified Identity Binding. + */ + get is ArmResourceRead; + + /** + * Creates or updates an identity binding in the specified managed cluster. + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync< + IdentityBinding, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Deletes an identity binding in the specified managed cluster. + */ + delete is ArmResourceDeleteWithoutOkAsync< + IdentityBinding, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Gets a list of identity bindings in the specified managed cluster. + */ + listByManagedCluster is ArmResourceListByParent; +} + +@@maxLength(IdentityBinding.name, 63); +@@minLength(IdentityBinding.name, 1); +@@doc(IdentityBinding.name, "The name of the identity binding."); +@@doc(IdentityBinding.properties, + "The resource-specific properties for this resource." +); +@@doc(IdentityBindings.createOrUpdate::parameters.resource, + "The identity binding to create or update." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/JWTAuthenticator.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/JWTAuthenticator.tsp new file mode 100644 index 000000000000..996a9bb36f01 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/JWTAuthenticator.tsp @@ -0,0 +1,66 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * Configuration for JWT authenticator in the managed cluster. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@parentResource(ManagedCluster) +@added(Versions.v2025_10_02_preview) +model JWTAuthenticator + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = JWTAuthenticator, + KeyName = "jwtAuthenticatorName", + SegmentName = "jwtAuthenticators", + NamePattern = "^[a-z][a-z0-9]{0,23}$" + >; +} + +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@armResourceOperations +@added(Versions.v2025_10_02_preview) +interface JWTAuthenticators { + /** + * Gets the specified JWT authenticator of a managed cluster. + */ + get is ArmResourceRead; + + /** + * Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the settings. + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync; + + /** + * Deletes a JWT authenticator and updates the managed cluster to apply the settings. + */ + delete is ArmResourceDeleteWithoutOkAsync< + JWTAuthenticator, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Gets a list of JWT authenticators in the specified managed cluster. + */ + listByManagedCluster is ArmResourceListByParent; +} + +@@maxLength(JWTAuthenticator.name, 24); +@@minLength(JWTAuthenticator.name, 1); +@@doc(JWTAuthenticator.name, "The name of the JWT authenticator."); +@@doc(JWTAuthenticator.properties, + "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." +); +@@doc(JWTAuthenticators.createOrUpdate::parameters.resource, + "The JWT authenticator to create or update." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/LoadBalancer.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/LoadBalancer.tsp new file mode 100644 index 000000000000..a5b8358d8bdb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/LoadBalancer.tsp @@ -0,0 +1,62 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * 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 `-internal`. The internal lb shares the same configurations as the external one. The internal lbs are not needed to be included in LoadBalancer list. + */ +@parentResource(ManagedCluster) +@added(Versions.v2025_10_02_preview) +model LoadBalancer + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = LoadBalancer, + KeyName = "loadBalancerName", + SegmentName = "loadBalancers", + NamePattern = "^[a-z][a-z0-9]{0,11}$" + >; +} + +@armResourceOperations +@added(Versions.v2025_10_02_preview) +interface LoadBalancers { + /** + * Gets the specified load balancer. + */ + get is ArmResourceRead; + + /** + * Creates or updates a load balancer in the specified managed cluster. + */ + createOrUpdate is ArmResourceCreateOrReplaceSync; + + /** + * Deletes a load balancer in the specified managed cluster. + */ + delete is ArmResourceDeleteWithoutOkAsync< + LoadBalancer, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Gets a list of load balancers in the specified managed cluster. + */ + listByManagedCluster is ArmResourceListByParent; +} + +@@maxLength(LoadBalancer.name, 12); +@@minLength(LoadBalancer.name, 1); +@@doc(LoadBalancer.name, "The name of the load balancer."); +@@doc(LoadBalancer.properties, "The properties of the load balancer."); +@@doc(LoadBalancers.createOrUpdate::parameters.resource, + "The load balancer to create or update." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/Machine.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/Machine.tsp new file mode 100644 index 000000000000..a1ce7a8e33fb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/Machine.tsp @@ -0,0 +1,72 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./AgentPool.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * 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. + */ +@parentResource(AgentPool) +model Machine is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = Machine, + KeyName = "machineName", + SegmentName = "machines", + NamePattern = "^[a-z][a-z0-9]{0,11}$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$" + >; + + /** + * The Availability zone in which machine is located. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + zones?: string[]; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@armResourceOperations +interface Machines { + /** + * Get a specific machine in the specified agent pool. + */ + get is ArmResourceRead; + + /** + * Creates or updates a machine in the specified agent pool. + */ + @added(Versions.v2025_10_02_preview) + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Machine, + Parameters = { + /** + * The request should only proceed if an entity matches this string. + */ + @header + ifMatch?: string; + + /** + * The request should only proceed if no entity matches this string. + */ + @header + ifNoneMatch?: string; + } + >; + + /** + * Gets a list of machines in the specified agent pool. + */ + list is ArmResourceListByParent; +} + +@@doc(Machine.name, "Host name of the machine."); +@@doc(Machine.properties, "The properties of the machine"); +@@doc(Machines.createOrUpdate::parameters.resource, + "The machine to create or update." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MaintenanceConfiguration.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MaintenanceConfiguration.tsp new file mode 100644 index 000000000000..9ec9c91191fc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MaintenanceConfiguration.tsp @@ -0,0 +1,57 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.ContainerService; +/** + * Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance. + */ +@parentResource(ManagedCluster) +model MaintenanceConfiguration + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = MaintenanceConfiguration, + KeyName = "configName", + SegmentName = "maintenanceConfigurations", + NamePattern = "" + >; +} + +@armResourceOperations +interface MaintenanceConfigurations { + /** + * Gets the specified maintenance configuration of a managed cluster. + */ + get is ArmResourceRead; + + /** + * Creates or updates a maintenance configuration in the specified managed cluster. + */ + createOrUpdate is ArmResourceCreateOrReplaceSync; + + /** + * Deletes a maintenance configuration. + */ + delete is ArmResourceDeleteSync; + + /** + * Gets a list of maintenance configurations in the specified managed cluster. + */ + listByManagedCluster is ArmResourceListByParent; +} + +@@doc(MaintenanceConfiguration.name, + "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'." +); +@@doc(MaintenanceConfiguration.properties, + "Properties of a default maintenance configuration." +); +@@doc(MaintenanceConfigurations.createOrUpdate::parameters.resource, + "The maintenance configuration to create or update." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedCluster.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedCluster.tsp new file mode 100644 index 000000000000..ca735b9c0db0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedCluster.tsp @@ -0,0 +1,482 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * Managed cluster. + */ +model ManagedCluster + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = ManagedCluster, + KeyName = "resourceName", + SegmentName = "managedClusters", + NamePattern = "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + >; + ...Azure.ResourceManager.EntityTagProperty; + + /** + * The managed cluster SKU. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sku?: ManagedClusterSKU; + + /** + * The extended location of the Virtual Machine. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + extendedLocation?: ExtendedLocation; + + /** + * The identity of the managed cluster, if configured. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + identity?: ManagedClusterIdentity; + + /** + * This is primarily used to expose different UI experiences in the portal for different kinds + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + kind?: string; +} + +@armResourceOperations(#{ allowStaticRoutes: true, omitTags: true }) +interface ManagedClusters { + /** + * Gets a managed cluster. + */ + @tag("ManagedClusters") + get is ArmResourceRead; + + /** + * Creates or updates a managed cluster. + */ + @tag("ManagedClusters") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + ManagedCluster, + Parameters = { + /** + * The request should only proceed if an entity matches this string. + */ + @header + ifMatch?: string; + + /** + * The request should only proceed if no entity matches this string. + */ + @header + ifNoneMatch?: string; + }, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Updates tags on a managed cluster. + */ + @tag("ManagedClusters") + @patch(#{ implicitOptionality: false }) + updateTags is ArmCustomPatchAsync< + ManagedCluster, + PatchModel = TagsObject, + Parameters = { + /** + * The request should only proceed if an entity matches this string. + */ + @header + ifMatch?: string; + } + >; + + /** + * Deletes a managed cluster. + */ + @tag("ManagedClusters") + delete is ArmResourceDeleteWithoutOkAsync< + ManagedCluster, + Parameters = { + /** + * The request should only proceed if an entity matches this string. + */ + @header + ifMatch?: string; + + /** + * ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + @query("ignore-pod-disruption-budget") + `ignore-pod-disruption-budget`?: boolean; + } + >; + + /** + * Lists managed clusters in the specified subscription and resource group. + */ + @tag("ManagedClusters") + listByResourceGroup is ArmResourceListByParent; + + /** + * Gets a list of managed clusters in the specified subscription. + */ + @tag("ManagedClusters") + list is ArmListBySubscription; + + /** + * **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) . + */ + #deprecated "This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) ." + @tag("ManagedClusters") + @action("listCredential") + @summary("Gets an access profile of a managed cluster.") + getAccessProfile is ArmResourceActionSync< + ManagedCluster, + void, + ArmResponse, + Parameters = { + /** + * The name of the role for managed cluster accessProfile resource. + */ + @path + @segment("accessProfiles") + roleName: string; + } + >; + + /** + * Lists the admin credentials of a managed cluster. + */ + @tag("ManagedClusters") + @action("listClusterAdminCredential") + listClusterAdminCredentials is ArmResourceActionSync< + ManagedCluster, + void, + ArmResponse, + Parameters = { + /** + * server fqdn type for credentials to be returned + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @query("server-fqdn") + `server-fqdn`?: string; + } + >; + + /** + * Lists the user credentials of a managed cluster. + */ + @tag("ManagedClusters") + @action("listClusterUserCredential") + listClusterUserCredentials is ArmResourceActionSync< + ManagedCluster, + void, + ArmResponse, + Parameters = { + /** + * server fqdn type for credentials to be returned + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @query("server-fqdn") + `server-fqdn`?: string; + + /** + * Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path. + */ + @query("format") + format?: Format; + } + >; + + /** + * Lists the cluster monitoring user credentials of a managed cluster. + */ + @tag("ManagedClusters") + @action("listClusterMonitoringUserCredential") + listClusterMonitoringUserCredentials is ArmResourceActionSync< + ManagedCluster, + void, + ArmResponse, + Parameters = { + /** + * server fqdn type for credentials to be returned + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @query("server-fqdn") + `server-fqdn`?: string; + } + >; + + /** + * This action cannot be performed on a cluster that is not using a service principal + */ + @tag("ManagedClusters") + @summary("Reset the Service Principal Profile of a managed cluster.") + resetServicePrincipalProfile is ArmResourceActionAsync< + ManagedCluster, + ManagedClusterServicePrincipalProfile, + OkResponse, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * **WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD. + */ + #deprecated "This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD." + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @tag("ManagedClusters") + @summary("Reset the AAD Profile of a managed cluster.") + resetAADProfile is ArmResourceActionAsync< + ManagedCluster, + ManagedClusterAADProfile, + OkResponse, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @tag("ManagedClusters") + @summary("Rotates the certificates of a managed cluster.") + rotateClusterCertificates is ArmResourceActionAsync< + ManagedCluster, + void, + NoContentResponse, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @tag("ManagedClusters") + @action("abort") + @summary("Aborts last operation running on managed cluster.") + abortLatestOperation is ArmResourceActionAsync< + ManagedCluster, + void, + NoContentResponse, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Rotates the service account signing keys of a managed cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @tag("ManagedClusters") + rotateServiceAccountSigningKeys is ArmResourceActionAsync< + ManagedCluster, + void, + NoContentResponse, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @tag("ManagedClusters") + @summary("Stops a Managed Cluster") + stop is ArmResourceActionAsync< + ManagedCluster, + void, + NoContentResponse, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @tag("ManagedClusters") + @summary("Starts a previously stopped Managed Cluster") + start is ArmResourceActionAsync< + ManagedCluster, + void, + NoContentResponse, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview). + */ + @tag("ManagedClusters") + @summary("Submits a command to run against the Managed Cluster.") + runCommand is ArmResourceActionAsync< + ManagedCluster, + RunCommandRequest, + RunCommandResult + >; + + /** + * Gets the results of a command which has been run on the Managed Cluster. + */ + @tag("ManagedClusters") + @get + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}") + getCommandResult is ManagedClusterOps.ActionSync< + ManagedCluster, + void, + ArmResponse | (AcceptedResponse & LocationHeader), + Parameters = { + /** + * Id of the command. + */ + @path + commandId: string; + } + >; + + /** + * Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint. + */ + @tag("ManagedClusters") + @list + @get + @action("outboundNetworkDependenciesEndpoints") + @summary("Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.") + listOutboundNetworkDependenciesEndpoints is ArmResourceActionSync< + ManagedCluster, + void, + ArmResponse + >; + + /** + * Rebalance nodes across specific load balancers. + */ + @tag("ManagedClusters") + @added(Versions.v2025_10_02_preview) + rebalanceLoadBalancers is ArmResourceActionAsyncBase< + ManagedCluster, + RebalanceLoadBalancersRequestBody, + ArmAcceptedLroResponse, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; + + /** + * See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle. + */ + @tag("AgentPools") + @get + @action("availableAgentPoolVersions") + @summary("Gets a list of supported Kubernetes versions for the specified agent pool.") + getAvailableAgentPoolVersions is ArmResourceActionSync< + ManagedCluster, + void, + ArmResponse + >; + + /** + * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + */ + @tag("privateLinkResources") + @get + @action("privateLinkResources") + @summary("Gets a list of private link resources in the specified managed cluster.") + privateLinkResourcesList is ArmResourceActionSync< + ManagedCluster, + void, + ArmResponse + >; + + /** + * Gets the private link service ID for the specified managed cluster. + */ + @tag("resolvePrivateLinkServiceId") + @action("resolvePrivateLinkServiceId") + post is ArmResourceActionSync< + ManagedCluster, + PrivateLinkResource, + ArmResponse + >; + + /** + * Gets a list of operations in the specified managedCluster + */ + @tag("ManagedClusters") + @list + @get + @action("operations") + @added(Versions.v2025_10_02_preview) + operationStatusResultList is ArmResourceActionSync< + ManagedCluster, + void, + ArmResponse + >; + + /** + * Get the status of a specific operation in the specified managed cluster. + */ + @tag("ManagedClusters") + @get + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.ContainerService/managedClusters/{resourceName}/operations/{operationId}") + @added(Versions.v2025_10_02_preview) + operationStatusResultGet is ManagedClusterOps.ActionSync< + ManagedCluster, + void, + ArmResponse, + Parameters = { + /** + * The ID of an ongoing async operation. + */ + @minLength(1) + @path + operationId: string; + } + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" +interface ManagedClusterOps + extends Azure.ResourceManager.Legacy.RoutedOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + }, + { + ...KeysOf, + }, + ErrorResponse, + #{ useStaticRoute: true } + > {} + +@@maxLength(ManagedCluster.name, 63); +@@minLength(ManagedCluster.name, 1); +@@doc(ManagedCluster.name, "The name of the managed cluster resource."); +@@doc(ManagedCluster.properties, "Properties of a managed cluster."); +@@doc(ManagedClusters.createOrUpdate::parameters.resource, + "The managed cluster to create or update." +); +@@doc(ManagedClusters.updateTags::parameters.properties, + "Parameters supplied to the Update Managed Cluster Tags operation." +); +@@doc(ManagedClusters.resetServicePrincipalProfile::parameters.body, + "The service principal profile to set on the managed cluster." +); +@@doc(ManagedClusters.resetAADProfile::parameters.body, + "The AAD profile to set on the Managed Cluster" +); +@@doc(ManagedClusters.runCommand::parameters.body, "The run command request"); +@@doc(ManagedClusters.rebalanceLoadBalancers::parameters.body, + "The names of the load balancers to be rebalanced. If set to empty, all load balancers will be rebalanced." +); +@@doc(ManagedClusters.post::parameters.body, + "Parameters required in order to resolve a private link service ID." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedClusterSnapshot.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedClusterSnapshot.tsp new file mode 100644 index 000000000000..f2d530cc9aa3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedClusterSnapshot.tsp @@ -0,0 +1,75 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * A managed cluster snapshot resource. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterSnapshot + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = ManagedClusterSnapshot, + KeyName = "resourceName", + SegmentName = "managedclustersnapshots", + NamePattern = "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + >; +} + +@armResourceOperations +@added(Versions.v2025_10_02_preview) +interface ManagedClusterSnapshots { + /** + * Gets a managed cluster snapshot. + */ + get is ArmResourceRead; + + /** + * Creates or updates a managed cluster snapshot. + */ + createOrUpdate is ArmResourceCreateOrReplaceSync; + + /** + * Updates tags on a managed cluster snapshot. + */ + @patch(#{ implicitOptionality: false }) + updateTags is ArmCustomPatchSync< + ManagedClusterSnapshot, + PatchModel = TagsObject + >; + + /** + * Deletes a managed cluster snapshot. + */ + delete is ArmResourceDeleteSync; + + /** + * Lists managed cluster snapshots in the specified subscription and resource group. + */ + listByResourceGroup is ArmResourceListByParent; + + /** + * Gets a list of managed cluster snapshots in the specified subscription. + */ + list is ArmListBySubscription; +} + +@@maxLength(ManagedClusterSnapshot.name, 63); +@@minLength(ManagedClusterSnapshot.name, 1); +@@doc(ManagedClusterSnapshot.name, "The name of the managed cluster resource."); +@@doc(ManagedClusterSnapshot.properties, + "Properties of a managed cluster snapshot." +); +@@doc(ManagedClusterSnapshots.createOrUpdate::parameters.resource, + "The managed cluster snapshot to create or update." +); +@@doc(ManagedClusterSnapshots.updateTags::parameters.properties, + "Parameters supplied to the Update managed cluster snapshot Tags operation." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedClusterUpgradeProfile.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedClusterUpgradeProfile.tsp new file mode 100644 index 000000000000..b202b38bdf34 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedClusterUpgradeProfile.tsp @@ -0,0 +1,42 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.ContainerService; +/** + * The list of available upgrades for compute pools. + */ +@singleton("default") +@parentResource(ManagedCluster) +model ManagedClusterUpgradeProfile + is Azure.ResourceManager.ProxyResource< + ManagedClusterUpgradeProfileProperties, + false + > { + ...ResourceNameParameter< + Resource = ManagedClusterUpgradeProfile, + KeyName = "upgradeProfile", + SegmentName = "upgradeProfiles", + NamePattern = "" + >; +} + +@armResourceOperations(#{ omitTags: true }) +interface ManagedClusterUpgradeProfiles { + /** + * Gets the upgrade profile of a managed cluster. + */ + @tag("ManagedClusters") + getUpgradeProfile is ArmResourceRead; +} + +@@doc(ManagedClusterUpgradeProfile.name, ""); +@@doc(ManagedClusterUpgradeProfile.properties, + "The properties of the upgrade profile." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedNamespace.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedNamespace.tsp new file mode 100644 index 000000000000..ab26daa6e4aa --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/ManagedNamespace.tsp @@ -0,0 +1,79 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.ContainerService; +/** + * Namespace managed by ARM. + */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@parentResource(ManagedCluster) +model ManagedNamespace + is Azure.ResourceManager.Legacy.TrackedResourceWithOptionalLocation { + ...ResourceNameParameter< + Resource = ManagedNamespace, + KeyName = "managedNamespaceName", + SegmentName = "managedNamespaces", + NamePattern = "[a-z0-9]([-a-z0-9]*[a-z0-9])?" + >; + ...Azure.ResourceManager.EntityTagProperty; +} + +@armResourceOperations +interface ManagedNamespaces { + /** + * Gets the specified namespace of a managed cluster. + */ + get is ArmResourceRead; + + /** + * Creates or updates a namespace managed by ARM for the specified managed cluster. Users can configure aspects like resource quotas, network ingress/egress policies, and more. See aka.ms/aks/managed-namespaces for more details. + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync; + + /** + * Updates tags on a managed namespace. + */ + @patch(#{ implicitOptionality: false }) + update is ArmCustomPatchSync; + + /** + * Deletes a namespace. + */ + delete is ArmResourceDeleteWithoutOkAsync< + ManagedNamespace, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Gets a list of managed namespaces in the specified managed cluster. + */ + listByManagedCluster is ArmResourceListByParent; + + /** + * Lists the credentials of a namespace. + */ + listCredential is ArmResourceActionSync< + ManagedNamespace, + void, + ArmResponse + >; +} + +@@maxLength(ManagedNamespace.name, 63); +@@minLength(ManagedNamespace.name, 1); +@@doc(ManagedNamespace.name, "The name of the managed namespace."); +@@doc(ManagedNamespace.properties, "Properties of a namespace."); +@@doc(ManagedNamespaces.createOrUpdate::parameters.resource, + "The namespace to create or update." +); +@@doc(ManagedNamespaces.update::parameters.properties, + "Parameters supplied to the patch namespace operation, we only support patch tags for now." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshMembership.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshMembership.tsp new file mode 100644 index 000000000000..daf33b6dccc6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshMembership.tsp @@ -0,0 +1,76 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * Mesh membership of a managed cluster. + */ +@parentResource(ManagedCluster) +@added(Versions.v2025_10_02_preview) +model MeshMembership + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = MeshMembership, + KeyName = "meshMembershipName", + SegmentName = "meshMemberships", + NamePattern = "^[a-zA-Z][a-zA-Z0-9]{0,62}$" + >; + + /** + * 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. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) + managedBy?: string; + + ...Azure.ResourceManager.EntityTagProperty; +} + +@armResourceOperations +@added(Versions.v2025_10_02_preview) +interface MeshMemberships { + /** + * Gets the mesh membership of a managed cluster. + */ + get is ArmResourceRead; + + /** + * Creates or updates the mesh membership of a managed cluster. + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync< + MeshMembership, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Deletes the mesh membership of a managed cluster. + */ + delete is ArmResourceDeleteWithoutOkAsync; + + /** + * Lists mesh memberships in a managed cluster. + */ + listByManagedCluster is ArmResourceListByParent< + MeshMembership, + Response = ArmResponse + >; +} + +@@maxLength(MeshMembership.name, 63); +@@minLength(MeshMembership.name, 1); +@@doc(MeshMembership.name, "The name of the mesh membership."); +@@doc(MeshMembership.properties, + "Mesh membership properties of a managed cluster." +); +@@doc(MeshMemberships.createOrUpdate::parameters.resource, + "The mesh membership to create or update." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshRevisionProfile.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshRevisionProfile.tsp new file mode 100644 index 000000000000..4148884a9a13 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshRevisionProfile.tsp @@ -0,0 +1,52 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using Azure.ResourceManager; +using TypeSpec.Rest; + +namespace Microsoft.ContainerService; +/** + * Mesh revision profile for a mesh. + */ +@parentResource(SubscriptionLocationResource) +model MeshRevisionProfile is ProxyResource { + ...ResourceNameParameter< + Resource = MeshRevisionProfile, + KeyName = "mode", + SegmentName = "meshRevisionProfiles", + NamePattern = "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + >; +} + +@armResourceOperations(#{ omitTags: true }) +interface MeshRevisionProfiles { + /** + * Contains extra metadata on the revision, including supported revisions, cluster compatibility and available upgrades + */ + @tag("ManagedClusters") + @summary("Gets a mesh revision profile for a specified mesh in the specified location.") + getMeshRevisionProfile is ArmResourceRead< + MeshRevisionProfile, + BaseParameters = Foundations.SubscriptionBaseParameters + >; + + /** + * Contains extra metadata on each revision, including supported revisions, cluster compatibility and available upgrades + */ + @tag("ManagedClusters") + @summary("Lists mesh revision profiles for all meshes in the specified location.") + listMeshRevisionProfiles is ArmResourceListByParent< + MeshRevisionProfile, + BaseParameters = Foundations.SubscriptionBaseParameters, + Response = ArmResponse + >; +} + +@@maxLength(MeshRevisionProfile.name, 24); +@@minLength(MeshRevisionProfile.name, 1); +@@doc(MeshRevisionProfile.name, "The mode of the mesh."); +@@doc(MeshRevisionProfile.properties, + "Mesh revision profile properties for a mesh" +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshUpgradeProfile.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshUpgradeProfile.tsp new file mode 100644 index 000000000000..4d9c6ea1c3c4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/MeshUpgradeProfile.tsp @@ -0,0 +1,49 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.ContainerService; +/** + * Upgrade profile for given mesh. + */ +@parentResource(ManagedCluster) +model MeshUpgradeProfile + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = MeshUpgradeProfile, + KeyName = "mode", + SegmentName = "meshUpgradeProfiles", + NamePattern = "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + >; +} + +@armResourceOperations(#{ omitTags: true }) +interface MeshUpgradeProfiles { + /** + * Gets available upgrades for a service mesh in a cluster. + */ + @tag("ManagedClusters") + getMeshUpgradeProfile is ArmResourceRead; + + /** + * Lists available upgrades for all service meshes in a specific cluster. + */ + @tag("ManagedClusters") + listMeshUpgradeProfiles is ArmResourceListByParent< + MeshUpgradeProfile, + Response = ArmResponse + >; +} + +@@maxLength(MeshUpgradeProfile.name, 24); +@@minLength(MeshUpgradeProfile.name, 1); +@@doc(MeshUpgradeProfile.name, "The mode of the mesh."); +@@doc(MeshUpgradeProfile.properties, + "Mesh upgrade profile properties for a major.minor release." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/PrivateEndpointConnection.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/PrivateEndpointConnection.tsp new file mode 100644 index 000000000000..34816224e105 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/PrivateEndpointConnection.tsp @@ -0,0 +1,87 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.ContainerService; +/** + * A private endpoint connection + */ +@parentResource(ManagedCluster) +model PrivateEndpointConnection + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = PrivateEndpointConnection, + KeyName = "privateEndpointConnectionName", + SegmentName = "privateEndpointConnections", + NamePattern = "" + >; +} + +@armResourceOperations +interface PrivateEndpointConnections { + /** + * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + */ + @summary("Gets the specified private endpoint connection.") + get is ArmResourceRead; + + /** + * Updates a private endpoint connection. + */ + update is ArmResourceCreateOrReplaceSync; + + /** + * Deletes a private endpoint connection. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + delete is ArmResourceDeleteWithoutOkAsync< + PrivateEndpointConnection, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; + + /** + * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters + */ + @summary("Gets a list of private endpoint connections in the specified managed cluster.") + list is PrivateEndpointConnectionsOps.ListSinglePage< + PrivateEndpointConnection, + Response = ArmResponse + >; +} + +@armResourceOperations +interface PrivateEndpointConnectionsOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + ...ParentKeysOf, + }, + { + ...ResourceNameParameter< + Resource = PrivateEndpointConnection, + KeyName = "privateEndpointConnectionName", + SegmentName = "privateEndpointConnections", + NamePattern = "" + >, + } + > {} + +@@doc(PrivateEndpointConnection.name, + "The name of the private endpoint connection." +); +@@doc(PrivateEndpointConnection.properties, + "The properties of a private endpoint connection." +); +@@doc(PrivateEndpointConnections.update::parameters.resource, + "The updated private endpoint connection." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/SafeguardsAvailableVersion.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/SafeguardsAvailableVersion.tsp new file mode 100644 index 000000000000..1c09db49ee34 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/SafeguardsAvailableVersion.tsp @@ -0,0 +1,58 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using Versioning; + +namespace Microsoft.ContainerService; +/** + * Available Safeguards Version + */ +@added(Versions.v2025_10_02_preview) +@parentResource(SubscriptionLocationResource) +model SafeguardsAvailableVersion + is Azure.ResourceManager.ProxyResource< + SafeguardsAvailableVersionsProperties, + false + > { + ...ResourceNameParameter< + Resource = SafeguardsAvailableVersion, + KeyName = "version", + SegmentName = "safeguardsVersions", + NamePattern = "" + >; +} + +@armResourceOperations +@added(Versions.v2025_10_02_preview) +interface SafeguardsAvailableVersions { + /** + * Contains Safeguards version along with its support info and whether it is a default version. + */ + @summary("Gets supported Safeguards version in the specified subscription and location.") + getSafeguardsVersions is ArmResourceRead< + SafeguardsAvailableVersion, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + >; + + /** + * Contains list of Safeguards version along with its support info and whether it is a default version. + */ + @summary("Gets a list of supported Safeguards versions in the specified subscription and location.") + listSafeguardsVersions is ArmResourceListByParent< + SafeguardsAvailableVersion, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + Response = ArmResponse + >; +} + +@@maxLength(SafeguardsAvailableVersion.name, 24); +@@minLength(SafeguardsAvailableVersion.name, 1); +@@doc(SafeguardsAvailableVersion.name, "Safeguards version"); +@@doc(SafeguardsAvailableVersion.properties, + "Whether the version is default or not and support info." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/Snapshot.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/Snapshot.tsp new file mode 100644 index 000000000000..18e749fad2c0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/Snapshot.tsp @@ -0,0 +1,66 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.ContainerService; +/** + * A node pool snapshot resource. + */ +model Snapshot is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = Snapshot, + KeyName = "resourceName", + SegmentName = "snapshots", + NamePattern = "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + >; +} + +@armResourceOperations +interface Snapshots { + /** + * Gets a snapshot. + */ + get is ArmResourceRead; + + /** + * Creates or updates a snapshot. + */ + createOrUpdate is ArmResourceCreateOrReplaceSync; + + /** + * Updates tags on a snapshot. + */ + @patch(#{ implicitOptionality: false }) + updateTags is ArmCustomPatchSync; + + /** + * Deletes a snapshot. + */ + delete is ArmResourceDeleteSync; + + /** + * Lists snapshots in the specified subscription and resource group. + */ + listByResourceGroup is ArmResourceListByParent; + + /** + * Gets a list of snapshots in the specified subscription. + */ + list is ArmListBySubscription; +} + +@@maxLength(Snapshot.name, 63); +@@minLength(Snapshot.name, 1); +@@doc(Snapshot.name, "The name of the managed cluster resource."); +@@doc(Snapshot.properties, "Properties of a snapshot."); +@@doc(Snapshots.createOrUpdate::parameters.resource, + "The snapshot to create or update." +); +@@doc(Snapshots.updateTags::parameters.properties, + "Parameters supplied to the Update snapshot Tags operation." +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/TrustedAccessRoleBinding.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/TrustedAccessRoleBinding.tsp new file mode 100644 index 000000000000..f1c23a4d572c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/TrustedAccessRoleBinding.tsp @@ -0,0 +1,70 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ManagedCluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.ContainerService; +/** + * Defines binding between a resource and role + */ +@parentResource(ManagedCluster) +model TrustedAccessRoleBinding + is Azure.ResourceManager.ProxyResource< + TrustedAccessRoleBindingProperties, + false + > { + ...ResourceNameParameter< + Resource = TrustedAccessRoleBinding, + KeyName = "trustedAccessRoleBindingName", + SegmentName = "trustedAccessRoleBindings", + NamePattern = "^([A-Za-z0-9-])+$" + >; +} + +@armResourceOperations(#{ omitTags: true }) +interface TrustedAccessRoleBindings { + /** + * Get a trusted access role binding. + */ + @tag("TrustedAccess") + get is ArmResourceRead; + + /** + * Create or update a trusted access role binding + */ + @tag("TrustedAccess") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + TrustedAccessRoleBinding, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Delete a trusted access role binding. + */ + @tag("TrustedAccess") + delete is ArmResourceDeleteWithoutOkAsync; + + /** + * List trusted access role bindings. + */ + @tag("TrustedAccess") + list is ArmResourceListByParent; +} + +@@maxLength(TrustedAccessRoleBinding.name, 24); +@@minLength(TrustedAccessRoleBinding.name, 1); +@@doc(TrustedAccessRoleBinding.name, + "The name of trusted access role binding." +); +@@doc(TrustedAccessRoleBinding.properties, + "Properties for trusted access role binding" +); +@@doc(TrustedAccessRoleBindings.createOrUpdate::parameters.resource, + "A trusted access role binding" +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/back-compatible.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/back-compatible.tsp new file mode 100644 index 000000000000..37b775a33000 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/back-compatible.tsp @@ -0,0 +1,213 @@ +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.ContainerService; + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(OperationValue.display); + +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`balance-similar-node-groups`, + "balanceSimilarNodeGroups" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`daemonset-eviction-for-empty-nodes`, + "daemonsetEvictionForEmptyNodes" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`daemonset-eviction-for-occupied-nodes`, + "daemonsetEvictionForOccupiedNodes" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`ignore-daemonsets-utilization`, + "ignoreDaemonsetsUtilization" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`max-empty-bulk-delete`, + "maxEmptyBulkDelete" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`max-graceful-termination-sec`, + "maxGracefulTerminationSec" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`max-node-provision-time`, + "maxNodeProvisionTime" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`max-total-unready-percentage`, + "maxTotalUnreadyPercentage" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`new-pod-scale-up-delay`, + "newPodScaleUpDelay" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`ok-total-unready-count`, + "okTotalUnreadyCount" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`scan-interval`, + "scanInterval" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`scale-down-delay-after-add`, + "scaleDownDelayAfterAdd" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`scale-down-delay-after-delete`, + "scaleDownDelayAfterDelete" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`scale-down-delay-after-failure`, + "scaleDownDelayAfterFailure" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`scale-down-unneeded-time`, + "scaleDownUnneededTime" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`scale-down-unready-time`, + "scaleDownUnreadyTime" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`scale-down-utilization-threshold`, + "scaleDownUtilizationThreshold" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`skip-nodes-with-local-storage`, + "skipNodesWithLocalStorage" +); +@@clientName(ManagedClusterPropertiesAutoScalerProfile.`skip-nodes-with-system-pods`, + "skipNodesWithSystemPods" +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(ManagedClusterAccessProfile.properties); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(AgentPoolAvailableVersions.properties); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(RunCommandResult.properties); + +@@clientName(ManagedClusters.createOrUpdate::parameters.resource, "parameters"); +@@clientName(ManagedClusters.updateTags::parameters.properties, "parameters"); +@@clientName(ManagedClusters.resetServicePrincipalProfile::parameters.body, + "parameters" +); +@@clientName(ManagedClusters.resetAADProfile::parameters.body, "parameters"); +@@clientName(ManagedClusters.runCommand::parameters.body, "requestPayload"); +@@clientName(ManagedClusters.rebalanceLoadBalancers::parameters.body, + "parameters" +); +@@clientLocation(ManagedClusters.getAvailableAgentPoolVersions, AgentPools); +@@clientLocation(ManagedClusters.privateLinkResourcesList, + "PrivateLinkResources" +); +@@clientName(ManagedClusters.privateLinkResourcesList, "List"); +@@clientLocation(ManagedClusters.post, "ResolvePrivateLinkServiceId"); +@@clientName(ManagedClusters.post, "POST"); +@@clientName(ManagedClusters.post::parameters.body, "parameters"); +@@clientLocation(ManagedClusters.operationStatusResultList, + "OperationStatusResult" +); +@@clientName(ManagedClusters.operationStatusResultList, "List"); +@@clientLocation(ManagedClusters.operationStatusResultGet, + "OperationStatusResult" +); +@@clientName(ManagedClusters.operationStatusResultGet, "Get"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(ManagedCluster.properties); + +@@clientLocation(ManagedClusterUpgradeProfiles.getUpgradeProfile, + ManagedClusters +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(ManagedClusterUpgradeProfile.properties); + +@@clientName(MaintenanceConfigurations.createOrUpdate::parameters.resource, + "parameters" +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(MaintenanceConfiguration.properties); + +@@clientName(ManagedNamespaces.createOrUpdate::parameters.resource, + "parameters" +); +@@clientName(ManagedNamespaces.update::parameters.properties, "parameters"); + +@@clientName(AgentPools.createOrUpdate::parameters.resource, "parameters"); +@@clientName(AgentPools.deleteMachines::parameters.body, "machines"); +@@clientLocation(AgentPools.getByAgentPool, "OperationStatusResult"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(AgentPool.properties); + +@@clientLocation(AgentPoolUpgradeProfiles.getUpgradeProfile, AgentPools); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(AgentPoolUpgradeProfile.properties); + +@@clientName(Machines.createOrUpdate::parameters.resource, "parameters"); + +@@clientName(PrivateEndpointConnections.update::parameters.resource, + "parameters" +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(PrivateEndpointConnection.properties); + +@@clientName(Snapshots.createOrUpdate::parameters.resource, "parameters"); +@@clientName(Snapshots.updateTags::parameters.properties, "parameters"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(Snapshot.properties); + +@@clientName(ManagedClusterSnapshots.createOrUpdate::parameters.resource, + "parameters" +); +@@clientName(ManagedClusterSnapshots.updateTags::parameters.properties, + "parameters" +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(ManagedClusterSnapshot.properties); + +@@clientName(TrustedAccessRoleBindings.createOrUpdate::parameters.resource, + "trustedAccessRoleBinding" +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(TrustedAccessRoleBinding.properties); + +@@clientLocation(GuardrailsAvailableVersions.getGuardrailsVersions, + ManagedClusters +); +@@clientLocation(GuardrailsAvailableVersions.listGuardrailsVersions, + ManagedClusters +); + +@@clientLocation(SafeguardsAvailableVersions.getSafeguardsVersions, + ManagedClusters +); +@@clientLocation(SafeguardsAvailableVersions.listSafeguardsVersions, + ManagedClusters +); + +@@clientLocation(MeshRevisionProfiles.getMeshRevisionProfile, ManagedClusters); +@@clientLocation(MeshRevisionProfiles.listMeshRevisionProfiles, + ManagedClusters +); + +@@clientLocation(MeshUpgradeProfiles.getMeshUpgradeProfile, ManagedClusters); +@@clientLocation(MeshUpgradeProfiles.listMeshUpgradeProfiles, ManagedClusters); + +@@clientName(TrustedAccessRoleBindings.createOrUpdate::parameters.resource, + "trustedAccessRoleBinding" +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(TrustedAccessRoleBinding.properties); + +@@clientName(LoadBalancers.createOrUpdate::parameters.resource, "parameters"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(LoadBalancer.properties); + +@@clientName(IdentityBindings.createOrUpdate::parameters.resource, + "parameters" +); + +@@clientName(JWTAuthenticators.createOrUpdate::parameters.resource, + "parameters" +); + +@@clientName(MeshMemberships.createOrUpdate::parameters.resource, "parameters"); + +@@clientLocation(ManagedClustersOperationGroup.listKubernetesVersions, + ManagedClusters +); + +@@clientLocation(ContainerServiceOperationGroup.listNodeImageVersions, + "ContainerService" +); + +@@clientLocation(TrustedAccessRolesOperationGroup.list, "TrustedAccessRoles"); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Property flatten for SDK backward compatibility." +@@Legacy.flattenProperty(OperationValue.display); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/client.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/client.tsp new file mode 100644 index 000000000000..b1434e221a3e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/client.tsp @@ -0,0 +1,26 @@ +import "@azure-tools/typespec-client-generator-core"; +import "./main.tsp"; + +using Azure.ClientGenerator.Core; +using Microsoft.ContainerService; + +@@clientName(Microsoft.ContainerService.IPFamily, "IpFamily", "javascript"); + +// Java specific renaming for backward compatibility +@@clientName(ManagedClusterAPIServerAccessProfile, + "ManagedClusterApiServerAccessProfile", + "java" +); +@@clientName(ManagedClusterHTTPProxyConfig, + "ManagedClusterHttpProxyConfig", + "java" +); +@@clientName(ManagedClusterIngressProfile.gatewayAPI, "gatewayApi", "java"); +@@clientName(ManagedClusterOIDCIssuerProfile.issuerURL, "issuerUrl", "java"); +@@clientName(TrustedAccessRoleRule.nonResourceURLs, "nonResourceUrls", "java"); + +@@clientName(Microsoft.ContainerService, "ContainerServiceClient", "python"); +@@clientName(ManagedClusterLoadBalancerProfileManagedOutboundIPs.countIPv6, + "count_ipv6", + "python" +); diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsAbortOperation.json new file mode 100644 index 000000000000..7b7922cad866 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsAbortOperation.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2025-10-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + }, + "204": {} + }, + "operationId": "AgentPools_AbortLatestOperation", + "title": "Abort operation on agent pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_CRG.json new file mode 100644 index 000000000000..6ece59d12f90 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_CRG.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", + "count": 3, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Capacity Reservation Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..b31ba41f3b16 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 65536, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with KubeletConfig and LinuxOSConfig" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..e086259143cd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_DedicatedHostGroup.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Dedicated Host Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..3e9bc82b94c5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "enableEncryptionAtHost": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.13", + "enableEncryptionAtHost": true, + "maxPods": 110, + "orchestratorVersion": "1.17.13", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.13", + "enableEncryptionAtHost": true, + "maxPods": 110, + "orchestratorVersion": "1.17.13", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with EncryptionAtHost enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..260c9f60e7b0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "enableFIPS": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with FIPS enabled OS" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..e783a5dad4ff --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "enableUltraSSD": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.13", + "enableUltraSSD": true, + "maxPods": 110, + "orchestratorVersion": "1.17.13", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.13", + "enableUltraSSD": true, + "maxPods": 110, + "orchestratorVersion": "1.17.13", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with UltraSSD enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..565f3ede9950 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osDiskType": "Ephemeral", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osDiskType": "Ephemeral", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletDiskType": "OS", + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osDiskType": "Ephemeral", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Ephemeral OS Disk" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..7d62b3901728 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_ND96asr_v4" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_ND96asr_v4" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 65536, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_ND96asr_v4" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with GPUMIG" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_MessageOfTheDay.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_MessageOfTheDay.json new file mode 100644 index 000000000000..7e27c440b4a5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_MessageOfTheDay.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "messageOfTheDay": "Zm9vCg==", + "mode": "User", + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "messageOfTheDay": "Zm9vCg==", + "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "messageOfTheDay": "Zm9vCg==", + "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Message of the Day" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..b4aa38ee471f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osSKU": "AzureLinux", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 65536, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with OSSKU" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..0beb29e3a51c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_PPG.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "orchestratorVersion": "", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with PPG" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..bb60347a5e91 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "enableFIPS": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool using an agent pool snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..4c4e36736dc9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Spot.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "spotMaxPrice": -1, + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "spotMaxPrice": -1, + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Spot Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_TypeVirtualMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_TypeVirtualMachines.json new file mode 100644 index 000000000000..908ae3145f2a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_TypeVirtualMachines.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "type": "VirtualMachines", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "virtualMachinesProfile": { + "scale": { + "manual": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ] + } + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "type": "VirtualMachines", + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ], + "virtualMachinesProfile": { + "scale": { + "manual": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ] + } + } + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "type": "VirtualMachines", + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ], + "virtualMachinesProfile": { + "scale": { + "manual": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ] + } + } + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with VirtualMachines pool type" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..7b4e46c15efe --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_Update.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "mode": "User", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "mode": "User", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create/Update Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..9c8eba069974 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "mode": "User", + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osType": "Linux", + "vmSize": "Standard_DS2_v2", + "workloadRuntime": "WasmWasi" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2", + "workloadRuntime": "WasmWasi" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2", + "workloadRuntime": "WasmWasi" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Krustlet and the WASI runtime" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WindowsDisableOutboundNAT.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WindowsDisableOutboundNAT.json new file mode 100644 index 000000000000..25481e03e471 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WindowsDisableOutboundNAT.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "agentPoolName": "wnp2", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "orchestratorVersion": "1.23.8", + "osSKU": "Windows2022", + "osType": "Windows", + "vmSize": "Standard_D4s_v3", + "windowsProfile": { + "disableOutboundNat": true + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.23.8", + "maxPods": 110, + "orchestratorVersion": "1.23.8", + "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Succeeded", + "vmSize": "Standard_D4s_v3", + "windowsProfile": { + "disableOutboundNat": true + } + } + } + }, + "201": { + "body": { + "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.23.8", + "maxPods": 110, + "orchestratorVersion": "1.23.8", + "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Creating", + "vmSize": "Standard_D4s_v3", + "windowsProfile": { + "disableOutboundNat": true + } + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Windows Agent Pool with disabling OutboundNAT" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WindowsOSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WindowsOSSKU.json new file mode 100644 index 000000000000..22f46144f9cd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsCreate_WindowsOSSKU.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "wnp2", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", + "osType": "Windows", + "vmSize": "Standard_D4s_v3" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.23.3", + "maxPods": 110, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Succeeded", + "vmSize": "Standard_D4s_v3" + } + } + }, + "201": { + "body": { + "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.23.3", + "maxPods": 110, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Creating", + "vmSize": "Standard_D4s_v3" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Windows OSSKU" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsDelete.json new file mode 100644 index 000000000000..4e53bbcc872f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "AgentPools_Delete", + "title": "Delete Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsDeleteMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsDeleteMachines.json new file mode 100644 index 000000000000..05177c08e5a3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsDeleteMachines.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "machines": { + "machineNames": [ + "aks-nodepool1-42263519-vmss00000a", + "aks-nodepool1-42263519-vmss00000b" + ] + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + }, + "operationId": "AgentPools_DeleteMachines", + "title": "Delete Specific Machines in an Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGet.json new file mode 100644 index 000000000000..6464750a76c6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "ebwiyfneowv", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "upgradeSettings": { + "maxSurge": "33%" + }, + "vmSize": "Standard_DS1_v2" + } + } + } + }, + "operationId": "AgentPools_Get", + "title": "Get Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..8798af23c7e7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "default", + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", + "properties": { + "agentPoolVersions": [ + { + "kubernetesVersion": "1.12.7" + }, + { + "kubernetesVersion": "1.12.8" + }, + { + "default": true, + "isPreview": true, + "kubernetesVersion": "1.13.5" + } + ] + } + } + } + }, + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "title": "Get available versions for agent pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..47679e1d9ddb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "default", + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", + "properties": { + "kubernetesVersion": "1.12.8", + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.13.5" + } + ] + } + } + } + }, + "operationId": "AgentPools_GetUpgradeProfile", + "title": "Get Upgrade Profile for Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsList.json new file mode 100644 index 000000000000..ef3c93aebd2c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "ewnfuib", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + } + ] + } + } + }, + "operationId": "AgentPools_List", + "title": "List Agent Pools by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..8156d97baf58 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "202": { + "body": { + "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "UpgradingNodeImageVersion", + "upgradeSettings": { + "maxSurge": "33%" + }, + "vmSize": "Standard_DS1_v2" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + } + } + }, + "operationId": "AgentPools_UpgradeNodeImageVersion", + "title": "Upgrade Agent Pool Node Image Version" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Start.json new file mode 100644 index 000000000000..638280c4d600 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Start.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 50, + "enableAutoScaling": true, + "maxCount": 55, + "minCount": 3, + "powerState": { + "code": "Running" + }, + "provisioningState": "Starting" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 50, + "enableAutoScaling": true, + "maxCount": 55, + "minCount": 3, + "powerState": { + "code": "Running" + }, + "provisioningState": "Starting" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Start Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Stop.json new file mode 100644 index 000000000000..3647509772a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Stop.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 0, + "enableAutoScaling": false, + "maxCount": null, + "minCount": null, + "powerState": { + "code": "Stopped" + }, + "provisioningState": "Stopping" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 0, + "enableAutoScaling": false, + "maxCount": null, + "minCount": null, + "powerState": { + "code": "Stopped" + }, + "provisioningState": "Stopping" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Stop Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Update.json new file mode 100644 index 000000000000..22bcf09ad8ce --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/AgentPools_Update.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "parameters": { + "properties": { + "count": 3, + "enableAutoScaling": true, + "maxCount": 2, + "minCount": 2, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "vmSize": "Standard_DS1_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableAutoScaling": true, + "maxCount": 2, + "maxPods": 110, + "minCount": 2, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "vmSize": "Standard_DS1_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableAutoScaling": true, + "maxCount": 2, + "maxPods": 110, + "minCount": 2, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Updating", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "vmSize": "Standard_DS1_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Update Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/KubernetesVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/KubernetesVersions_List.json new file mode 100644 index 000000000000..a17d87544259 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/KubernetesVersions_List.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "values": [ + { + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.23.12": { + "upgrades": [ + "1.23.15", + "1.24.6", + "1.24.9" + ] + }, + "1.23.15": { + "upgrades": [ + "1.24.6", + "1.24.9" + ] + } + }, + "version": "1.23" + }, + { + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "isDefault": true, + "patchVersions": { + "1.24.6": { + "upgrades": [ + "1.24.9", + "1.25.4", + "1.25.5" + ] + }, + "1.24.9": { + "upgrades": [ + "1.25.4", + "1.25.5" + ] + } + }, + "version": "1.24" + }, + { + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.25.4": { + "upgrades": [ + "1.25.5", + "1.26.0" + ] + }, + "1.25.5": { + "upgrades": [ + "1.26.0" + ] + } + }, + "version": "1.25" + }, + { + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "isPreview": true, + "patchVersions": { + "1.26.0": { + "upgrades": [] + } + }, + "version": "1.26" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListKubernetesVersions", + "title": "List Kubernetes Versions" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MachineGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MachineGet.json new file mode 100644 index 000000000000..267bb5725c63 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MachineGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "machineName": "aks-nodepool1-42263519-vmss00000t", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "26fe00f8-9173-4872-9134-bb1d2e00343a" + }, + "responses": { + "200": { + "body": { + "name": "aks-nodepool1-25481572-vmss000000", + "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", + "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", + "properties": { + "network": { + "ipAddresses": [ + { + "family": "IPv4", + "ip": "172.20.2.4" + }, + { + "family": "IPv4", + "ip": "10.0.0.1" + } + ] + }, + "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0" + }, + "zones": [ + "1" + ] + } + } + }, + "operationId": "Machines_Get", + "title": "Get a Machine in an Agent Pools by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MachineList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MachineList.json new file mode 100644 index 000000000000..8823a7ff8133 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MachineList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "26fe00f8-9173-4872-9134-bb1d2e00343a" + }, + "responses": { + "200": { + "body": { + "nextLink": "http://xxxx.azure.com?encodedToken=c2tpcFRva2VuPTE", + "value": [ + { + "name": "aks-nodepool1-25481572-vmss000000", + "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", + "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", + "properties": { + "network": { + "ipAddresses": [ + { + "family": "IPv4", + "ip": "172.20.2.4" + }, + { + "family": "IPv4", + "ip": "10.0.0.1" + } + ] + }, + "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0" + }, + "zones": [ + "1" + ] + } + ] + } + } + }, + "operationId": "Machines_List", + "title": "List Machines in an Agentpool by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json new file mode 100644 index 000000000000..619f1bfa4e4a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "configName": "aksManagedAutoUpgradeSchedule", + "parameters": { + "properties": { + "maintenanceWindow": { + "durationHours": 10, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "relativeMonthly": { + "dayOfWeek": "Monday", + "intervalMonths": 3, + "weekIndex": "First" + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "aksManagedAutoUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "durationHours": 10, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "weekly": { + "dayOfWeek": "Monday", + "intervalWeeks": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" + } + } + } + }, + "201": { + "body": { + "name": "aksManagedAutoUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "durationHours": 10, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "weekly": { + "dayOfWeek": "Monday", + "intervalWeeks": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" + } + } + } + } + }, + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "title": "Create/Update Maintenance Configuration with Maintenance Window" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsDelete_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsDelete_MaintenanceWindow.json new file mode 100644 index 000000000000..f5afc12b9601 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsDelete_MaintenanceWindow.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "configName": "aksManagedNodeOSUpgradeSchedule", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "MaintenanceConfigurations_Delete", + "title": "Delete Maintenance Configuration For Node OS Upgrade" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsGet_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsGet_MaintenanceWindow.json new file mode 100644 index 000000000000..1a1c5adbfbfd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsGet_MaintenanceWindow.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "configName": "aksManagedNodeOSUpgradeSchedule", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "aksManagedNodeOSUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "durationHours": 4, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "daily": { + "intervalDays": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "09:30", + "utcOffset": "-07:00" + } + } + } + } + }, + "operationId": "MaintenanceConfigurations_Get", + "title": "Get Maintenance Configuration Configured With Maintenance Window" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsList_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsList_MaintenanceWindow.json new file mode 100644 index 000000000000..dc84208cfbf0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/MaintenanceConfigurationsList_MaintenanceWindow.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "aksManagedNodeOSUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "durationHours": 10, + "schedule": { + "daily": { + "intervalDays": 5 + } + }, + "startDate": "2023-01-01", + "startTime": "13:30", + "utcOffset": "-07:00" + } + } + }, + { + "name": "aksManagedAutoUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "durationHours": 5, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "absoluteMonthly": { + "dayOfMonth": 15, + "intervalMonths": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+00:00" + } + } + } + ] + } + } + }, + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "title": "List maintenance configurations configured with maintenance window by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersAbortOperation.json new file mode 100644 index 000000000000..4f8d7d245173 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersAbortOperation.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2025-10-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_AbortLatestOperation", + "title": "Abort operation on managed cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json new file mode 100644 index 000000000000..05394b45844b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json @@ -0,0 +1,258 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Azure KeyVault Secrets Provider Addon" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_AzureServiceMesh.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_AzureServiceMesh.json new file mode 100644 index 000000000000..a0c00996895c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_AzureServiceMesh.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "serviceMeshProfile": { + "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, + "components": { + "egressGateways": [ + { + "name": "test-istio-egress", + "enabled": true, + "gatewayConfigurationName": "test-gateway-configuration" + } + ], + "ingressGateways": [ + { + "enabled": true, + "mode": "Internal" + } + ] + } + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "serviceMeshProfile": { + "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, + "components": { + "egressGateways": [ + { + "name": "test-istio-egress", + "enabled": true, + "gatewayConfigurationName": "test-gateway-configuration" + } + ], + "ingressGateways": [ + { + "enabled": true, + "mode": "Internal" + } + ] + }, + "revisions": [ + "asm-1-17" + ] + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "serviceMeshProfile": { + "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, + "components": { + "egressGateways": [ + { + "name": "test-istio-egress", + "enabled": true, + "gatewayConfigurationName": "test-gateway-configuration" + } + ], + "ingressGateways": [ + { + "enabled": true, + "mode": "Internal" + } + ] + }, + "revisions": [ + "asm-1-17" + ] + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with Azure Service Mesh" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_CRG.json new file mode 100644 index 000000000000..a0f7153b8e51 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_CRG.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Capacity Reservation Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_CustomCATrustCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_CustomCATrustCertificates.json new file mode 100644 index 000000000000..81427771123c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_CustomCATrustCertificates.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Custom CA Trust Certificates" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..d2ae037804d8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DedicatedHostGroup.json @@ -0,0 +1,248 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Dedicated Host Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..3b98a5a94e93 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,266 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "supportPlan": "KubernetesOfficial", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "supportPlan": "KubernetesOfficial", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with RunCommand disabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..d01b0a6ecb95 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,322 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.22.1", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.22.1", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "currentKubernetesVersion": "1.22.1", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.22.1", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.22.1", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.22.1", + "osType": "Linux", + "provisioningState": "Creating", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.22.1", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.22.1", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with dual-stack networking" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..8d6567812b46 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,255 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with EncryptionAtHost enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..3a6d9314a912 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,255 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "enableUltraSSD": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "enableUltraSSD": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "enableUltraSSD": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with UltraSSD enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..63b6464612d1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,255 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with FIPS enabled OS" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..c5737c334823 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_ND96asr_v4" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_ND96asr_v4" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_ND96asr_v4" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with GPUMIG" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..2f53fde42a20 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,279 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with HTTP proxy configured" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_IngressProfile_WebAppRouting.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_IngressProfile_WebAppRouting.json new file mode 100644 index 000000000000..7edf25f54674 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_IngressProfile_WebAppRouting.json @@ -0,0 +1,249 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Web App Routing Ingress Profile configured" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..35973a305e51 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,232 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + }, + "outboundType": "managedNATGateway" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "basic", + "natGatewayProfile": { + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + } + }, + "networkPlugin": "kubenet", + "outboundType": "managedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "natGatewayProfile": { + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + } + }, + "networkPlugin": "kubenet", + "outboundType": "managedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with AKS-managed NAT gateway as outbound type" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..4d133442a1f1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,255 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Node Public IP Prefix" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..7eff10ed050f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osSKU": "AzureLinux", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with OSSKU" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..00d055a73929 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PPG.json @@ -0,0 +1,255 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with PPG" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..98451e965de3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "podIdentityProfile": { + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "podIdentityProfile": { + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "podIdentityProfile": { + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with PodIdentity enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Premium.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Premium.json new file mode 100644 index 000000000000..9a249d02dc05 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Premium.json @@ -0,0 +1,273 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with LongTermSupport" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..e861a747a634 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Private Cluster with fqdn subdomain specified" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..b6f2354a7127 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Private Cluster with Public FQDN specified" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..6a8a4e382d78 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,262 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + }, + "workloadIdentity": { + "enabled": true + } + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + }, + "workloadIdentity": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + }, + "workloadIdentity": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Security Profile configured" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..811562f7a65b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "enableFIPS": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster using an agent pool snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..e922b8a8c809 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_Update.json @@ -0,0 +1,316 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "upgradeSettings": { + "overrideSettings": { + "forceUpgrade": false, + "until": "2022-11-01T13:00:00Z" + } + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "upgradeSettings": { + "overrideSettings": { + "forceUpgrade": false, + "until": "2022-11-01T13:00:00Z" + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..0d61c4aaea7c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,300 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with Windows gMSA enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..bd40ae2ffca6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,294 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with EnableAHUB" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..76e37b71d52f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,283 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "aadProfile": { + "enableAzureRBAC": true, + "managed": true + }, + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "managed": true, + "tenantID": "tenantID" + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "managed": true, + "tenantID": "tenantID" + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update AAD Managed Cluster with EnableAzureRBAC" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..42535889f454 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,199 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "userAssignedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "userAssignedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with user-assigned NAT gateway as outbound type" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersDelete.json new file mode 100644 index 000000000000..c51e9d16f4d3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_Delete", + "title": "Delete Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet.json new file mode 100644 index 000000000000..2a6eedb5c7c2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "eTag": "beywbwei", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "nvewbvoi", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "upgradeSettings": { + "maxSurge": "33%" + }, + "vmSize": "Standard_DS1_v2" + } + ], + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "outboundIPs": { + "publicIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" + } + ] + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "upgradeSettings": { + "overrideSettings": { + "forceUpgrade": true, + "until": "2022-11-01T13:00:00Z" + } + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_Get", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..1683d8ce75de --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGetAccessProfile.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clusterUser", + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "properties": { + "kubeConfig": "a3ViZUNvbmZpZzE=" + } + } + } + }, + "operationId": "ManagedClusters_GetAccessProfile", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..82c47e6fa6ab --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "default", + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "properties": { + "agentPoolProfiles": [ + { + "name": "agent", + "kubernetesVersion": "1.7.7", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9" + }, + { + "isPreview": true, + "kubernetesVersion": "1.7.11" + } + ] + } + ], + "controlPlaneProfile": { + "name": "master", + "kubernetesVersion": "1.7.7", + "osType": "Linux", + "upgrades": [ + { + "isPreview": true, + "kubernetesVersion": "1.7.9" + }, + { + "kubernetesVersion": "1.7.11" + } + ] + } + } + } + } + }, + "operationId": "ManagedClusters_GetUpgradeProfile", + "title": "Get Upgrade Profile for Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet_MeshRevisionProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet_MeshRevisionProfile.json new file mode 100644 index 000000000000..57e75dfc04dc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet_MeshRevisionProfile.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "location": "location1", + "mode": "istio", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", + "properties": { + "meshRevisions": [ + { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ], + "revision": "asm-1-17", + "upgrades": [ + "asm-1-18" + ] + }, + { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.24", + "1.25", + "1.26", + "1.27" + ] + } + ], + "revision": "asm-1-18", + "upgrades": [] + } + ] + } + } + } + }, + "operationId": "ManagedClusters_GetMeshRevisionProfile", + "title": "Get a mesh revision profile for a mesh mode" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet_MeshUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet_MeshUpgradeProfile.json new file mode 100644 index 000000000000..3f191e0d3486 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersGet_MeshUpgradeProfile.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "mode": "istio", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", + "properties": { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ], + "revision": "asm-1-17", + "upgrades": [ + "asm-1-18" + ] + } + } + } + }, + "operationId": "ManagedClusters_GetMeshUpgradeProfile", + "title": "Gets version compatibility and upgrade profile for a service mesh in a cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList.json new file mode 100644 index 000000000000..10a3e3194604 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "eTag": "nvweuib", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "byuefvwi", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + ] + } + } + }, + "operationId": "ManagedClusters_List", + "title": "List Managed Clusters" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..92240eb6fac8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListByResourceGroup.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + ] + } + } + }, + "operationId": "ManagedClusters_ListByResourceGroup", + "title": "Get Managed Clusters by Resource Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterAdminCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterAdminCredentials.json new file mode 100644 index 000000000000..ccad4efdf573 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterAdminCredentials.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterMonitoringUserCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterMonitoringUserCredentials.json new file mode 100644 index 000000000000..c71294f6d333 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterMonitoringUserCredentials.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterUserCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterUserCredentials.json new file mode 100644 index 000000000000..5abe34547a2b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersListClusterUserCredentials.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListClusterUserCredentials", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList_MeshRevisionProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList_MeshRevisionProfiles.json new file mode 100644 index 000000000000..c214b71fb3fb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList_MeshRevisionProfiles.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", + "properties": { + "meshRevisions": [ + { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ], + "revision": "asm-1-17", + "upgrades": [ + "asm-1-18" + ] + }, + { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.24", + "1.25", + "1.26", + "1.27" + ] + } + ], + "revision": "asm-1-18", + "upgrades": [] + } + ] + } + } + ] + } + } + }, + "operationId": "ManagedClusters_ListMeshRevisionProfiles", + "title": "List mesh revision profiles in a location" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList_MeshUpgradeProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList_MeshUpgradeProfiles.json new file mode 100644 index 000000000000..9f24382865a1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersList_MeshUpgradeProfiles.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", + "properties": { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ], + "revision": "asm-1-17", + "upgrades": [ + "asm-1-18" + ] + } + } + ] + } + } + }, + "operationId": "ManagedClusters_ListMeshUpgradeProfiles", + "title": "Lists version compatibility and upgrade profile for all service meshes in a cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..9123b4cfb179 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersResetAADProfile.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + }, + "operationId": "ManagedClusters_ResetAADProfile", + "title": "Reset AAD Profile" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..097854723dcc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "clientId": "clientid", + "secret": "secret" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + }, + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "title": "Reset Service Principal Profile" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..7eb9414d224b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_RotateClusterCertificates", + "title": "Rotate Cluster Certificates" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersRotateServiceAccountSigningKeys.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersRotateServiceAccountSigningKeys.json new file mode 100644 index 000000000000..cc2630df565f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersRotateServiceAccountSigningKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", + "title": "Rotate Cluster Service Account Signing Keys" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersStart.json new file mode 100644 index 000000000000..a31c34e704cc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersStart.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_Start", + "title": "Start Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersStop.json new file mode 100644 index 000000000000..7c6fe3ec8e77 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersStop.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_Stop", + "title": "Stop Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..1d5000c30514 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedClustersUpdateTags.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "tags": { + "archv3": "", + "tier": "testing" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv3": "", + "tier": "testing" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + } + }, + "operationId": "ManagedClusters_UpdateTags", + "title": "Update Managed Cluster Tags" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesCreate_Update.json new file mode 100644 index 000000000000..f26ecb08c220 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesCreate_Update.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "managedNamespaceName": "namespace1", + "parameters": { + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" + } + }, + "tags": { + "tagKey1": "tagValue1" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "namespace1", + "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" + } + } + }, + "201": { + "body": { + "name": "namespace1", + "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" + }, + "provisioningState": "Updating" + }, + "tags": { + "tagKey1": "tagValue1" + } + } + } + }, + "operationId": "ManagedNamespaces_CreateOrUpdate", + "title": "Create/Update Managed Namespace" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesDelete.json new file mode 100644 index 000000000000..8825bc8b5cf3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "managedNamespaceName": "namespace1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + }, + "204": {} + }, + "operationId": "ManagedNamespaces_Delete", + "title": "Delete Managed Namespace" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesGet.json new file mode 100644 index 000000000000..a178ea5a3a73 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "managedNamespaceName": "namespace1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "namespace1", + "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" + } + } + } + }, + "operationId": "ManagedNamespaces_Get", + "title": "Get Managed Namespace" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesList.json new file mode 100644 index 000000000000..b2c408ae8552 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "managedNamespaceName": "namespace1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "namespace1", + "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" + } + } + ] + } + } + }, + "operationId": "ManagedNamespaces_ListByManagedCluster", + "title": "List namespaces by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesListCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesListCredentialResult.json new file mode 100644 index 000000000000..b717b3ce1f42 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesListCredentialResult.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "managedNamespaceName": "namespace1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedNamespaces_ListCredential", + "title": "List managed namespace credentials" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesUpdateTags.json new file mode 100644 index 000000000000..8ab11db3c011 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ManagedNamespacesUpdateTags.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "managedNamespaceName": "namespace1", + "parameters": { + "tags": { + "tagKey1": "tagValue1", + "tagKey2": "tagValue2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1", + "tagKey2": "tagValue2" + } + } + } + }, + "operationId": "ManagedNamespaces_Update", + "title": "Update Managed Namespace Tags" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/Operation_List.json new file mode 100644 index 000000000000..b2ea9a261097 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/Operation_List.json @@ -0,0 +1,3575 @@ +{ + "parameters": { + "api-version": "2025-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ContainerService/locations/operations/read", + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/operations/read", + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/register/action", + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/unregister/action", + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/locations/operationresults/read", + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/containerServices/read", + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/containerServices/write", + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/containerServices/delete", + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/read", + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/write", + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/delete", + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/start/action", + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/snapshots/read", + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/snapshots/write", + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/snapshots/delete", + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events/read", + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events/write", + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/services/read", + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/services/write", + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/api/read", + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/version/read", + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftClusters/read", + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftClusters/write", + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "origin": "user,system" + } + ] + } + } + }, + "operationId": "Operations_List", + "title": "List available operations for the container service resource provider" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..9f6ae3e3839c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,244 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "description": "mcr cdn", + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + }, + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "title": "List OutboundNetworkDependenciesEndpoints by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..c7d3ebfab457 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "privateEndpointConnectionName": "privateendpointconnection1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + }, + "204": {} + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "Delete Private Endpoint Connection" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..1523d14972ee --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "privateEndpointConnectionName": "privateendpointconnection1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "Get Private Endpoint Connection" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..7114cf414787 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + }, + "operationId": "PrivateEndpointConnections_List", + "title": "List Private Endpoint Connections by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..c4959ff7e4d1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + }, + "privateEndpointConnectionName": "privateendpointconnection1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "PrivateEndpointConnections_Update", + "title": "Update Private Endpoint Connection" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..5e961862f434 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/PrivateLinkResourcesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName", + "requiredMembers": [ + "management" + ] + } + ] + } + } + }, + "operationId": "PrivateLinkResources_List", + "title": "List Private Link Resources by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..efb2dd5bd062 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/ResolvePrivateLinkServiceId.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "name": "management" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + }, + "operationId": "ResolvePrivateLinkServiceId_POST", + "title": "Resolve the Private Link Service ID for Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandRequest.json new file mode 100644 index 000000000000..b4b6f36fb279 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandRequest.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "requestPayload": { + "clusterToken": "", + "command": "kubectl apply -f ns.yaml", + "context": "" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "exitCode": 0, + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created", + "provisioningState": "succeeded", + "startedAt": "2021-02-17T00:28:20Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" + } + } + }, + "operationId": "ManagedClusters_RunCommand", + "title": "submitNewCommand" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandResultFailed.json new file mode 100644 index 000000000000..9026dd13d28a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandResultFailed.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" + } + } + }, + "operationId": "ManagedClusters_GetCommandResult", + "title": "commandFailedResult" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandResultSucceed.json new file mode 100644 index 000000000000..e1e9faa28a70 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/RunCommandResultSucceed.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "exitCode": 0, + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created", + "provisioningState": "succeeded", + "startedAt": "2021-02-17T00:28:20Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" + } + } + }, + "operationId": "ManagedClusters_GetCommandResult", + "title": "commandSucceedResult" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsCreate.json new file mode 100644 index 000000000000..28041730679c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsCreate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "Snapshots_CreateOrUpdate", + "title": "Create/Update Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsDelete.json new file mode 100644 index 000000000000..4943965e3201 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "Snapshots_Delete", + "title": "Delete Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsGet.json new file mode 100644 index 000000000000..67b9f601a233 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "Snapshots_Get", + "title": "Get Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsList.json new file mode 100644 index 000000000000..c4c0690eff52 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + ] + } + } + }, + "operationId": "Snapshots_List", + "title": "List Snapshots" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..afd28dbd5e55 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsListByResourceGroup.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + ] + } + } + }, + "operationId": "Snapshots_ListByResourceGroup", + "title": "List Snapshots by Resource Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..386e4667a5c9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/SnapshotsUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "Snapshots_UpdateTags", + "title": "Update Snapshot Tags" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_CreateOrUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_CreateOrUpdate.json new file mode 100644 index 000000000000..9a1e1a4e9ddf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_CreateOrUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "trustedAccessRoleBinding": { + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + }, + "trustedAccessRoleBindingName": "binding1" + }, + "responses": { + "200": { + "body": { + "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + } + }, + "201": { + "body": { + "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + } + } + }, + "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", + "title": "Create or update a trusted access role binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_Delete.json new file mode 100644 index 000000000000..822ac69ed2b8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "trustedAccessRoleBindingName": "binding1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "TrustedAccessRoleBindings_Delete", + "title": "Delete a trusted access role binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_Get.json new file mode 100644 index 000000000000..4abe8aaa3566 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "trustedAccessRoleBindingName": "binding1" + }, + "responses": { + "200": { + "body": { + "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + } + } + }, + "operationId": "TrustedAccessRoleBindings_Get", + "title": "Get a trusted access role binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_List.json new file mode 100644 index 000000000000..cba4d82c2847 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoleBindings_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + } + ] + } + } + }, + "operationId": "TrustedAccessRoleBindings_List", + "title": "List trusted access role bindings" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoles_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoles_List.json new file mode 100644 index 000000000000..c16c8435a2eb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-01/TrustedAccessRoles_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2025-10-01", + "location": "westus2", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "reader", + "rules": [ + { + "apiGroups": [ + "" + ], + "nonResourceURLs": [], + "resourceNames": [], + "resources": [ + "pods" + ], + "verbs": [ + "get" + ] + } + ], + "sourceResourceType": "Microsoft.MachineLearningServices/workspaces" + } + ] + } + } + }, + "operationId": "TrustedAccessRoles_List", + "title": "List trusted access roles" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AdvancedNetworkingTransitEncryption.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AdvancedNetworkingTransitEncryption.json new file mode 100644 index 000000000000..47f044fd3eb3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AdvancedNetworkingTransitEncryption.json @@ -0,0 +1,267 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "advancedNetworking": { + "enabled": true, + "observability": { + "enabled": false + }, + "security": { + "advancedNetworkPolicies": "FQDN", + "enabled": true, + "transitEncryption": { + "type": "WireGuard" + } + } + }, + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "advancedNetworking": { + "enabled": true, + "observability": { + "enabled": false + }, + "security": { + "advancedNetworkPolicies": "FQDN", + "enabled": true, + "transitEncryption": { + "type": "WireGuard" + } + } + }, + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "advancedNetworking": { + "enabled": true, + "observability": { + "enabled": false + }, + "security": { + "advancedNetworkPolicies": "FQDN", + "enabled": true, + "transitEncryption": { + "type": "WireGuard" + } + } + }, + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Advanced Networking Transit Encryption" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsAbortOperation.json new file mode 100644 index 000000000000..32f9fb757edb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsAbortOperation.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "AgentPools_AbortLatestOperation", + "title": "Abort operation on agent pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsAssociate_CRG.json new file mode 100644 index 000000000000..6ec63cdb54cf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsAssociate_CRG.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", + "count": 3, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Associate Agent Pool with Capacity Reservation Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCompleteUpgrade.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCompleteUpgrade.json new file mode 100644 index 000000000000..36ec4cffbfd0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCompleteUpgrade.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + }, + "operationId": "AgentPools_CompleteUpgrade", + "title": "Complete agent pool upgrade" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..c8f1eba90b78 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "seccompDefault": "Unconfined", + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 65536, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with KubeletConfig and LinuxOSConfig" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..c4f8e8a24564 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_DedicatedHostGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.19.6", + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.19.6", + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Dedicated Host Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..f6022f728db0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "enableEncryptionAtHost": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.13", + "enableEncryptionAtHost": true, + "maxPods": 110, + "orchestratorVersion": "1.17.13", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.13", + "enableEncryptionAtHost": true, + "maxPods": 110, + "orchestratorVersion": "1.17.13", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with EncryptionAtHost enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..92b7819047c6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "enableFIPS": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with FIPS enabled OS" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..d276c3fc632c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "enableUltraSSD": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.13", + "enableUltraSSD": true, + "maxPods": 110, + "orchestratorVersion": "1.17.13", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.13", + "enableUltraSSD": true, + "maxPods": 110, + "orchestratorVersion": "1.17.13", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with UltraSSD enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..8777c89e2044 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osDiskType": "Ephemeral", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osDiskType": "Ephemeral", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletDiskType": "OS", + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osDiskType": "Ephemeral", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Ephemeral OS Disk" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..17d17164f437 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_ND96asr_v4" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_ND96asr_v4" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 65536, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_ND96asr_v4" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with GPUMIG" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_MessageOfTheDay.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_MessageOfTheDay.json new file mode 100644 index 000000000000..8a1d011382e0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_MessageOfTheDay.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "messageOfTheDay": "Zm9vCg==", + "mode": "User", + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "messageOfTheDay": "Zm9vCg==", + "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "messageOfTheDay": "Zm9vCg==", + "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Message of the Day" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..e67aed9704ba --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osSKU": "AzureLinux", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 12345, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "kubeletConfig": { + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" + }, + "linuxOSConfig": { + "swapFileSizeMB": 1500, + "sysctls": { + "kernelThreadsMax": 99999, + "netCoreWmemDefault": 65536, + "netIpv4IpLocalPortRange": "20000 60000", + "netIpv4TcpTwReuse": true + }, + "transparentHugePageDefrag": "madvise", + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with OSSKU" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..2a46c181d52d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_PPG.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "orchestratorVersion": "", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with PPG" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..68b5a8828a1c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "enableFIPS": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool using an agent pool snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..7e77f184cbbf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Spot.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "spotMaxPrice": -1, + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "spotMaxPrice": -1, + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Spot Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_TypeVirtualMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_TypeVirtualMachines.json new file mode 100644 index 000000000000..88c10173e0b4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_TypeVirtualMachines.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "type": "VirtualMachines", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "virtualMachinesProfile": { + "scale": { + "manual": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ] + } + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "type": "VirtualMachines", + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ], + "virtualMachinesProfile": { + "scale": { + "manual": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ] + } + } + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "type": "VirtualMachines", + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ], + "virtualMachinesProfile": { + "scale": { + "manual": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ] + } + } + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with VirtualMachines pool type" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json new file mode 100644 index 000000000000..9c293cbed90b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "type": "VirtualMachines", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.29.0", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "virtualMachinesProfile": { + "scale": { + "autoscale": { + "maxCount": 5, + "minCount": 1, + "size": "Standard_D2_v2" + } + } + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "type": "VirtualMachines", + "currentOrchestratorVersion": "1.29.0", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.29.0", + "osType": "Linux", + "provisioningState": "Succeeded", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 1, + "size": "Standard_D2_v2" + } + ], + "virtualMachinesProfile": { + "scale": { + "autoscale": { + "maxCount": 5, + "minCount": 1, + "size": "Standard_D2_v2" + } + } + } + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "type": "VirtualMachines", + "currentOrchestratorVersion": "1.29.0", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.29.0", + "osType": "Linux", + "provisioningState": "Creating", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 1, + "size": "Standard_D2_v2" + } + ], + "virtualMachinesProfile": { + "scale": { + "autoscale": { + "maxCount": 5, + "minCount": 1, + "size": "Standard_D2_v2" + } + } + } + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with VirtualMachines pool type with autoscaling enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..d657e6c5c3ee --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_Update.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "mode": "User", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "maxPods": 110, + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "mode": "User", + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create/Update Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..5339fa25f524 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "mode": "User", + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osType": "Linux", + "vmSize": "Standard_DS2_v2", + "workloadRuntime": "WasmWasi" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2", + "workloadRuntime": "WasmWasi" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.17.8", + "maxPods": 110, + "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2", + "workloadRuntime": "WasmWasi" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Krustlet and the WASI runtime" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WindowsDisableOutboundNAT.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WindowsDisableOutboundNAT.json new file mode 100644 index 000000000000..90d30b940f7c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WindowsDisableOutboundNAT.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "agentPoolName": "wnp2", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "orchestratorVersion": "1.23.8", + "osSKU": "Windows2022", + "osType": "Windows", + "vmSize": "Standard_D4s_v3", + "windowsProfile": { + "disableOutboundNat": true + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.23.8", + "maxPods": 110, + "orchestratorVersion": "1.23.8", + "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Succeeded", + "vmSize": "Standard_D4s_v3", + "windowsProfile": { + "disableOutboundNat": true + } + } + } + }, + "201": { + "body": { + "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.23.8", + "maxPods": 110, + "orchestratorVersion": "1.23.8", + "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Creating", + "vmSize": "Standard_D4s_v3", + "windowsProfile": { + "disableOutboundNat": true + } + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Windows Agent Pool with disabling OutboundNAT" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WindowsOSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WindowsOSSKU.json new file mode 100644 index 000000000000..17a6b9420104 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsCreate_WindowsOSSKU.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "agentPoolName": "wnp2", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", + "osType": "Windows", + "vmSize": "Standard_D4s_v3" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.23.3", + "maxPods": 110, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Succeeded", + "vmSize": "Standard_D4s_v3" + } + } + }, + "201": { + "body": { + "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.23.3", + "maxPods": 110, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Creating", + "vmSize": "Standard_D4s_v3" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Windows OSSKU" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDelete.json new file mode 100644 index 000000000000..1ffb96de0b20 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "AgentPools_Delete", + "title": "Delete Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDeleteMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDeleteMachines.json new file mode 100644 index 000000000000..4196a62e06a7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDeleteMachines.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "machines": { + "machineNames": [ + "aks-nodepool1-42263519-vmss00000a", + "aks-nodepool1-42263519-vmss00000b" + ] + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + }, + "operationId": "AgentPools_DeleteMachines", + "title": "Delete Specific Machines in an Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDelete_IgnorePodDisruptionBudget.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDelete_IgnorePodDisruptionBudget.json new file mode 100644 index 000000000000..3a3639abf814 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsDelete_IgnorePodDisruptionBudget.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "ignorePodDisruptionBudget": true, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "AgentPools_Delete", + "title": "Delete Agent Pool by ignoring PodDisruptionBudget" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGet.json new file mode 100644 index 000000000000..65cd289f88da --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "ebwiyfneowv", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "upgradeSettings": { + "maxSurge": "33%" + }, + "vmSize": "Standard_DS1_v2" + } + } + } + }, + "operationId": "AgentPools_Get", + "title": "Get Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..8a4680af3ff1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "default", + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", + "properties": { + "agentPoolVersions": [ + { + "kubernetesVersion": "1.12.7" + }, + { + "kubernetesVersion": "1.12.8" + }, + { + "default": true, + "isPreview": true, + "kubernetesVersion": "1.13.5" + } + ] + } + } + } + }, + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "title": "Get available versions for agent pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..b6755c3510c3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "default", + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", + "properties": { + "kubernetesVersion": "1.12.8", + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.13.5" + } + ] + } + } + } + }, + "operationId": "AgentPools_GetUpgradeProfile", + "title": "Get Upgrade Profile for Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsList.json new file mode 100644 index 000000000000..0edd790463e3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "ewnfuib", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + } + ] + } + } + }, + "operationId": "AgentPools_List", + "title": "List Agent Pools by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..6177729a4183 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "202": { + "body": { + "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "UpgradingNodeImageVersion", + "upgradeSettings": { + "maxSurge": "33%" + }, + "vmSize": "Standard_DS1_v2" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + } + } + }, + "operationId": "AgentPools_UpgradeNodeImageVersion", + "title": "Upgrade Agent Pool Node Image Version" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Start.json new file mode 100644 index 000000000000..e01863049605 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Start.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 50, + "enableAutoScaling": true, + "maxCount": 55, + "minCount": 3, + "powerState": { + "code": "Running" + }, + "provisioningState": "Starting" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 50, + "enableAutoScaling": true, + "maxCount": 55, + "minCount": 3, + "powerState": { + "code": "Running" + }, + "provisioningState": "Starting" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Start Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Stop.json new file mode 100644 index 000000000000..b8b62309dedb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Stop.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 0, + "enableAutoScaling": false, + "maxCount": null, + "minCount": null, + "powerState": { + "code": "Stopped" + }, + "provisioningState": "Stopping" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 0, + "enableAutoScaling": false, + "maxCount": null, + "minCount": null, + "powerState": { + "code": "Stopped" + }, + "provisioningState": "Stopping" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Stop Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Update.json new file mode 100644 index 000000000000..078f16acfd6b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/AgentPools_Update.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "count": 3, + "enableAutoScaling": true, + "maxCount": 2, + "minCount": 2, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "vmSize": "Standard_DS1_v2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableAutoScaling": true, + "maxCount": 2, + "maxPods": 110, + "minCount": 2, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "vmSize": "Standard_DS1_v2" + } + } + }, + "201": { + "body": { + "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "properties": { + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableAutoScaling": true, + "maxCount": 2, + "maxPods": 110, + "minCount": 2, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Updating", + "scaleSetEvictionPolicy": "Delete", + "scaleSetPriority": "Spot", + "vmSize": "Standard_DS1_v2" + } + } + } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Update Agent Pool" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/GetGuardrailsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/GetGuardrailsVersions.json new file mode 100644 index 000000000000..20aab1712d83 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/GetGuardrailsVersions.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "version": "v1.0.0" + }, + "responses": { + "200": { + "body": { + "name": "v1.0.0", + "type": "Microsoft.ContainerService/locations/guardrailsVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/guardrailsVersions/v1.0.0", + "properties": { + "isDefaultVersion": true, + "support": "Preview" + } + } + } + }, + "operationId": "ManagedClusters_GetGuardrailsVersions", + "title": "Get guardrails available versions" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/GetSafeguardsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/GetSafeguardsVersions.json new file mode 100644 index 000000000000..a0b903305b43 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/GetSafeguardsVersions.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "version": "v1.0.0" + }, + "responses": { + "200": { + "body": { + "name": "v1.0.0", + "type": "Microsoft.ContainerService/locations/safeguardsVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/safeguardsVersions/v1.0.0", + "properties": { + "isDefaultVersion": true, + "support": "Preview" + } + } + } + }, + "operationId": "ManagedClusters_GetSafeguardsVersions", + "title": "Get Safeguards available versions" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Create_Or_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Create_Or_Update.json new file mode 100644 index 000000000000..44ef26301d11 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Create_Or_Update.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "identityBindingName": "identitybinding1", + "parameters": { + "properties": { + "managedIdentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "identitybinding1", + "type": "Microsoft.ContainerService/managedClusters/identityBindings", + "eTag": "string", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", + "properties": { + "managedIdentity": { + "clientId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "oidcIssuer": { + "oidcIssuerUrl": "https://oidc-endpoint" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "identitybinding1", + "type": "Microsoft.ContainerService/managedClusters/identityBindings", + "eTag": "string", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", + "properties": { + "managedIdentity": { + "clientId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "oidcIssuer": { + "oidcIssuerUrl": "https://oidc-endpoint" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "IdentityBindings_CreateOrUpdate", + "title": "Create or update Identity Binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Delete.json new file mode 100644 index 000000000000..f9425852876d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "identityBindingName": "identitybinding1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2025-10-02-preview" + } + }, + "204": {} + }, + "operationId": "IdentityBindings_Delete", + "title": "Delete Identity Binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Get.json new file mode 100644 index 000000000000..013537551d0c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "identityBindingName": "identitybinding1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "identitybinding1", + "type": "Microsoft.ContainerService/managedClusters/identityBindings", + "eTag": "string", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", + "properties": { + "managedIdentity": { + "clientId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "oidcIssuer": { + "oidcIssuerUrl": "https://oidc-endpoint" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "IdentityBindings_Get", + "title": "Get Identity Binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_List.json new file mode 100644 index 000000000000..3488ad6a99e0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/IdentityBindings_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "identitybinding1", + "type": "Microsoft.ContainerService/managedClusters/identityBindings", + "eTag": "string", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", + "properties": { + "managedIdentity": { + "clientId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "oidcIssuer": { + "oidcIssuerUrl": "https://oidc-endpoint" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + }, + "operationId": "IdentityBindings_ListByManagedCluster", + "title": "List Identity Bindings by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Create_Or_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Create_Or_Update.json new file mode 100644 index 000000000000..4a8fd0c69351 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Create_Or_Update.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "jwtAuthenticatorName": "jwt1", + "parameters": { + "properties": { + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } + }, + "claimValidationRules": [ + { + "expression": "has(claims.sub)", + "message": "Sub is required" + }, + { + "expression": "claims.sub != ''", + "message": "Sub cannot be empty" + } + ], + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" + }, + "userValidationRules": [ + { + "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", + "message": "Must be in admin user group" + } + ] + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "jwt1", + "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", + "properties": { + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } + }, + "claimValidationRules": [ + { + "expression": "has(claims.sub)", + "message": "Sub is required" + }, + { + "expression": "claims.sub != ''", + "message": "Sub cannot be empty" + } + ], + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" + }, + "provisioningState": "Succeeded", + "userValidationRules": [ + { + "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", + "message": "Must be in admin user group" + } + ] + } + } + }, + "201": { + "body": { + "name": "jwt1", + "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", + "properties": { + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } + }, + "claimValidationRules": [ + { + "expression": "has(claims.sub)", + "message": "Sub is required" + }, + { + "expression": "claims.sub != ''", + "message": "Sub cannot be empty" + } + ], + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" + }, + "provisioningState": "Succeeded", + "userValidationRules": [ + { + "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", + "message": "Must be in admin user group" + } + ] + } + } + } + }, + "operationId": "JWTAuthenticators_CreateOrUpdate", + "title": "Create or update JWT Authenticator" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Delete.json new file mode 100644 index 000000000000..8a8b56e9110c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "jwtAuthenticatorName": "jwt1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2025-10-02-preview" + } + }, + "204": {} + }, + "operationId": "JWTAuthenticators_Delete", + "title": "Delete JWT Authenticator" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Get.json new file mode 100644 index 000000000000..eecbc1681faf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_Get.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "jwtAuthenticatorName": "jwt1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "jwt1", + "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", + "properties": { + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } + }, + "claimValidationRules": [ + { + "expression": "has(claims.sub)", + "message": "Sub is required" + }, + { + "expression": "claims.sub != ''", + "message": "Sub cannot be empty" + } + ], + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" + }, + "provisioningState": "Succeeded", + "userValidationRules": [ + { + "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", + "message": "Must be in admin user group" + } + ] + } + } + } + }, + "operationId": "JWTAuthenticators_Get", + "title": "Get JWT Authenticator" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_List.json new file mode 100644 index 000000000000..bfc2b732921e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/JWTAuthenticators_List.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "jwt1", + "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", + "properties": { + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } + }, + "claimValidationRules": [ + { + "expression": "has(claims.sub)", + "message": "Sub is required" + }, + { + "expression": "claims.sub != ''", + "message": "Sub cannot be empty" + } + ], + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" + }, + "provisioningState": "Succeeded", + "userValidationRules": [ + { + "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", + "message": "Must be in admin user group" + } + ] + } + } + ] + } + } + }, + "operationId": "JWTAuthenticators_ListByManagedCluster", + "title": "List JWT authenticators by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/KubernetesVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/KubernetesVersions_List.json new file mode 100644 index 000000000000..e18f3ee32fd5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/KubernetesVersions_List.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "values": [ + { + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.23.12": { + "upgrades": [ + "1.23.15", + "1.24.6", + "1.24.9" + ] + }, + "1.23.15": { + "upgrades": [ + "1.24.6", + "1.24.9" + ] + } + }, + "version": "1.23" + }, + { + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "isDefault": true, + "patchVersions": { + "1.24.6": { + "upgrades": [ + "1.24.9", + "1.25.4", + "1.25.5" + ] + }, + "1.24.9": { + "upgrades": [ + "1.25.4", + "1.25.5" + ] + } + }, + "version": "1.24" + }, + { + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.25.4": { + "upgrades": [ + "1.25.5", + "1.26.0" + ] + }, + "1.25.5": { + "upgrades": [ + "1.26.0" + ] + } + }, + "version": "1.25" + }, + { + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "isPreview": true, + "patchVersions": { + "1.26.0": { + "upgrades": [] + } + }, + "version": "1.26" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListKubernetesVersions", + "title": "List Kubernetes Versions" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ListGuardrailsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ListGuardrailsVersions.json new file mode 100644 index 000000000000..889339962763 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ListGuardrailsVersions.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "v1.0.0", + "type": "Microsoft.ContainerService/locations/guardrailsVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/guardrailsVersions/v1.0.0", + "properties": { + "isDefaultVersion": true, + "support": "Preview" + } + } + ] + } + } + }, + "operationId": "ManagedClusters_ListGuardrailsVersions", + "title": "List Guardrails Versions" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ListSafeguardsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ListSafeguardsVersions.json new file mode 100644 index 000000000000..e8cdd6996d9d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ListSafeguardsVersions.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "v1.0.0", + "type": "Microsoft.ContainerService/locations/safeguardsVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/safeguardsVersions/v1.0.0", + "properties": { + "isDefaultVersion": true, + "support": "Preview" + } + } + ] + } + } + }, + "operationId": "ManagedClusters_ListSafeguardsVersions", + "title": "List Safeguards Versions" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Create_Or_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Create_Or_Update.json new file mode 100644 index 000000000000..8ef0e747280c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Create_Or_Update.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "loadBalancerName": "kubernetes", + "parameters": { + "properties": { + "allowServicePlacement": true, + "primaryAgentPoolName": "agentpool1" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "kubernetes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes", + "properties": { + "allowServicePlacement": true, + "primaryAgentPoolName": "agentPool1", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "kubernetes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes", + "properties": { + "allowServicePlacement": true, + "primaryAgentPoolName": "agentPool1", + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "LoadBalancers_CreateOrUpdate", + "title": "Create or update a Load Balancer" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Delete.json new file mode 100644 index 000000000000..46c27f971fd5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "loadBalancerName": "kubernetes", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2025-10-02-preview" + } + }, + "204": {} + }, + "operationId": "LoadBalancers_Delete", + "title": "Delete a Load Balancer" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Get.json new file mode 100644 index 000000000000..f2b4d978beb1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "loadBalancerName": "kubernetes", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "kubernetes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes", + "properties": { + "allowServicePlacement": true, + "primaryAgentPoolName": "agentPool1", + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "LoadBalancers_Get", + "title": "Get Load Balancer" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_List.json new file mode 100644 index 000000000000..64c53e83eb73 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "kubernetes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes", + "properties": { + "allowServicePlacement": true, + "primaryAgentPoolName": "agentPool1", + "provisioningState": "Succeeded" + } + } + ] + } + } + }, + "operationId": "LoadBalancers_ListByManagedCluster", + "title": "List Load Balancers by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Rebalance.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Rebalance.json new file mode 100644 index 000000000000..4b2b5f0ab466 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/LoadBalancers_Rebalance.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "loadBalancerNames": [ + "kubernetes" + ] + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2025-10-02-preview" + } + } + }, + "operationId": "ManagedClusters_RebalanceLoadBalancers", + "title": "List Agent Pools by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineCreate_Update.json new file mode 100644 index 000000000000..a96066a32294 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineCreate_Update.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "machineName": "machine1", + "parameters": { + "properties": { + "hardware": { + "vmSize": "Standard_DS1_v2" + }, + "kubernetes": { + "kubeletDiskType": "OS", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.30" + }, + "mode": "User", + "operatingSystem": { + "enableFIPS": false, + "osSKU": "Ubuntu", + "osType": "Linux" + }, + "priority": "Spot", + "tags": { + "name1": "val1" + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "machine1", + "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1", + "properties": { + "hardware": { + "vmSize": "Standard_DS1_v2" + }, + "kubernetes": { + "currentOrchestratorVersion": "1.30.6", + "kubeletDiskType": "OS", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeName": "aks-nodepool1-machine1-25481572-vm0", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.30" + }, + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2023.03.11", + "operatingSystem": { + "enableFIPS": false, + "osSKU": "Ubuntu", + "osType": "Linux" + }, + "priority": "Spot", + "provisioningState": "Succeeded", + "status": { + "creationTimestamp": "2025-04-02T12:00:00Z", + "driftAction": "Synced", + "vmState": "Running" + }, + "tags": { + "name1": "val1" + } + }, + "zones": [ + "1" + ] + } + }, + "201": { + "body": { + "name": "machine1", + "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1", + "properties": { + "hardware": { + "vmSize": "Standard_DS1_v2" + }, + "kubernetes": { + "currentOrchestratorVersion": "1.30.6", + "kubeletDiskType": "OS", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeName": "aks-nodepool1-machine1-25481572-vm0", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.30" + }, + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2023.03.11", + "operatingSystem": { + "enableFIPS": false, + "osSKU": "Ubuntu", + "osType": "Linux" + }, + "priority": "Spot", + "provisioningState": "Creating", + "status": { + "creationTimestamp": "2025-04-02T12:00:00Z", + "driftAction": "Synced", + "vmState": "Running" + }, + "tags": { + "name1": "val1" + } + }, + "zones": [ + "1" + ] + } + } + }, + "operationId": "Machines_CreateOrUpdate", + "title": "Create/Update Machine" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineGet.json new file mode 100644 index 000000000000..2b7fd2886391 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineGet.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "machineName": "aks-nodepool1-42263519-vmss00000t", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "aks-nodepool1-25481572-vmss000000", + "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", + "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", + "properties": { + "hardware": { + "vmSize": "Standard_DS1_v2" + }, + "kubernetes": { + "currentOrchestratorVersion": "1.30.6", + "kubeletDiskType": "OS", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.30" + }, + "mode": "User", + "network": { + "ipAddresses": [ + { + "family": "IPv4", + "ip": "172.20.2.4" + }, + { + "family": "IPv4", + "ip": "10.0.0.1" + } + ] + }, + "nodeImageVersion": "AKSUbuntu:1604:2023.03.11", + "priority": "Spot", + "provisioningState": "Succeeded", + "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0" + }, + "zones": [ + "1" + ] + } + } + }, + "operationId": "Machines_Get", + "title": "Get a Machine in an Agent Pools by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineList.json new file mode 100644 index 000000000000..c695ea58bf4f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MachineList.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nextLink": "http://xxxx.azure.com?encodedToken=c2tpcFRva2VuPTE", + "value": [ + { + "name": "aks-nodepool1-25481572-vmss000000", + "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", + "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", + "properties": { + "hardware": { + "vmSize": "Standard_DS1_v2" + }, + "kubernetes": { + "currentOrchestratorVersion": "1.30.6", + "kubeletDiskType": "OS", + "maxPods": 110, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "orchestratorVersion": "1.30" + }, + "mode": "User", + "network": { + "ipAddresses": [ + { + "family": "IPv4", + "ip": "172.20.2.4" + }, + { + "family": "IPv4", + "ip": "10.0.0.1" + } + ] + }, + "nodeImageVersion": "AKSUbuntu:1604:2023.03.11", + "priority": "Spot", + "provisioningState": "Succeeded", + "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0" + }, + "zones": [ + "1" + ] + } + ] + } + } + }, + "operationId": "Machines_List", + "title": "List Machines in an Agentpool by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json new file mode 100644 index 000000000000..e071cb00e4fb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "configName": "aksManagedAutoUpgradeSchedule", + "parameters": { + "properties": { + "maintenanceWindow": { + "durationHours": 10, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "relativeMonthly": { + "dayOfWeek": "Monday", + "intervalMonths": 3, + "weekIndex": "First" + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" + } + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "aksManagedAutoUpgradeSchedule", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "properties": { + "maintenanceWindow": { + "durationHours": 10, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "weekly": { + "dayOfWeek": "Monday", + "intervalWeeks": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" + } + }, + "systemData": { + "createdAt": "2020-01-01T17:18:19.1234567Z", + "createdBy": "user1", + "createdByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User" + } + } + }, + "201": { + "body": { + "name": "aksManagedAutoUpgradeSchedule", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "properties": { + "maintenanceWindow": { + "durationHours": 10, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "weekly": { + "dayOfWeek": "Monday", + "intervalWeeks": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" + } + }, + "systemData": { + "createdAt": "2020-01-01T17:18:19.1234567Z", + "createdBy": "user1", + "createdByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User" + } + } + } + }, + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "title": "Create/Update Maintenance Configuration with Maintenance Window" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsDelete_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsDelete_MaintenanceWindow.json new file mode 100644 index 000000000000..6217e72211c0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsDelete_MaintenanceWindow.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "configName": "aksManagedNodeOSUpgradeSchedule", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "MaintenanceConfigurations_Delete", + "title": "Delete Maintenance Configuration For Node OS Upgrade" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsGet_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsGet_MaintenanceWindow.json new file mode 100644 index 000000000000..2aed9d47472f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsGet_MaintenanceWindow.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "configName": "aksManagedNodeOSUpgradeSchedule", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "aksManagedNodeOSUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "properties": { + "maintenanceWindow": { + "durationHours": 4, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "daily": { + "intervalDays": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "09:30", + "utcOffset": "-07:00" + } + }, + "systemData": { + "createdAt": "2020-01-01T17:18:19.1234567Z", + "createdBy": "user1", + "createdByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User" + } + } + } + }, + "operationId": "MaintenanceConfigurations_Get", + "title": "Get Maintenance Configuration Configured With Maintenance Window" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsList_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsList_MaintenanceWindow.json new file mode 100644 index 000000000000..cb968737783f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MaintenanceConfigurationsList_MaintenanceWindow.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "aksManagedNodeOSUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "properties": { + "maintenanceWindow": { + "durationHours": 10, + "schedule": { + "daily": { + "intervalDays": 5 + } + }, + "startDate": "2023-01-01", + "startTime": "13:30", + "utcOffset": "-07:00" + } + } + }, + { + "name": "aksManagedAutoUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "properties": { + "maintenanceWindow": { + "durationHours": 5, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "absoluteMonthly": { + "dayOfMonth": 15, + "intervalMonths": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+00:00" + } + } + } + ] + } + } + }, + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "title": "List maintenance configurations configured with maintenance window by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsCreate.json new file mode 100644 index 000000000000..b2baaaf0d57f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsCreate.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + } + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "managedClusterPropertiesReadOnly": { + "enableRbac": true, + "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, + "sku": { + "name": "Basic", + "tier": "Free" + } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "managedClusterPropertiesReadOnly": { + "enableRbac": true, + "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, + "sku": { + "name": "Basic", + "tier": "Free" + } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "ManagedClusterSnapshots_CreateOrUpdate", + "title": "Create/Update Managed Cluster Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsDelete.json new file mode 100644 index 000000000000..b497c091bd33 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "ManagedClusterSnapshots_Delete", + "title": "Delete Managed Cluster Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsGet.json new file mode 100644 index 000000000000..ac235f5bc821 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsGet.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "managedClusterPropertiesReadOnly": { + "enableRbac": true, + "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, + "sku": { + "name": "Basic", + "tier": "Free" + } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "ManagedClusterSnapshots_Get", + "title": "Get Managed Cluster Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsList.json new file mode 100644 index 000000000000..d11a9cb68c00 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "managedClusterPropertiesReadOnly": { + "enableRbac": true, + "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, + "sku": { + "name": "Basic", + "tier": "Free" + } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + ] + } + } + }, + "operationId": "ManagedClusterSnapshots_List", + "title": "List Managed Cluster Snapshots" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..45af49186e18 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsListByResourceGroup.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "managedClusterPropertiesReadOnly": { + "enableRbac": true, + "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, + "sku": { + "name": "Basic", + "tier": "Free" + } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + ] + } + } + }, + "operationId": "ManagedClusterSnapshots_ListByResourceGroup", + "title": "List Managed Cluster Snapshots by Resource Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsUpdateTags.json new file mode 100644 index 000000000000..f333b8c1d685 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClusterSnapshotsUpdateTags.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "managedClusterPropertiesReadOnly": { + "enableRbac": true, + "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, + "sku": { + "name": "Basic", + "tier": "Free" + } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "ManagedClusterSnapshots_UpdateTags", + "title": "Update Managed Cluster Snapshot Tags" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersAbortOperation.json new file mode 100644 index 000000000000..2accf38ac5b4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersAbortOperation.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_AbortLatestOperation", + "title": "Abort operation on managed cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersAssociate_CRG.json new file mode 100644 index 000000000000..c5378bc5a771 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersAssociate_CRG.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Associate Managed Cluster with Capacity Reservation Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json new file mode 100644 index 000000000000..6fc6a09a53f7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json @@ -0,0 +1,258 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Azure Key Vault Secrets Provider Addon" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_AzureServiceMesh.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_AzureServiceMesh.json new file mode 100644 index 000000000000..c6172500cb01 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_AzureServiceMesh.json @@ -0,0 +1,348 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "serviceMeshProfile": { + "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, + "components": { + "egressGateways": [ + { + "name": "istioegress1", + "enabled": true + } + ], + "ingressGateways": [ + { + "enabled": true, + "mode": "Internal" + } + ] + } + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "serviceMeshProfile": { + "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, + "components": { + "egressGateways": [ + { + "name": "istioegress1", + "enabled": true + } + ], + "ingressGateways": [ + { + "enabled": true, + "mode": "Internal" + } + ] + }, + "revisions": [ + "asm-1-17" + ] + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "serviceMeshProfile": { + "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, + "components": { + "egressGateways": [ + { + "name": "istioegress1", + "enabled": true + } + ], + "ingressGateways": [ + { + "enabled": true, + "mode": "Internal" + } + ] + }, + "revisions": [ + "asm-1-17" + ] + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with Azure Service Mesh" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_CustomCATrustCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_CustomCATrustCertificates.json new file mode 100644 index 000000000000..ffa1cb1b982e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_CustomCATrustCertificates.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with CustomCATrustCertificates populated" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..c4652a391262 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DedicatedHostGroup.json @@ -0,0 +1,250 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Dedicated Host Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..b8e7d898556e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "supportPlan": "KubernetesOfficial", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "supportPlan": "KubernetesOfficial", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with RunCommand disabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..220b3cb7e7ef --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,320 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with dual-stack networking" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableAIToolchainOperator.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableAIToolchainOperator.json new file mode 100644 index 000000000000..0ed073656bab --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableAIToolchainOperator.json @@ -0,0 +1,237 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "aiToolchainOperatorProfile": { + "enabled": true + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "aiToolchainOperatorProfile": { + "enabled": true + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "aiToolchainOperatorProfile": { + "enabled": true + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with AI Toolchain Operator enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..110506a37ea9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with EncryptionAtHost enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..0d02806ffe20 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "enableUltraSSD": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "enableUltraSSD": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "enableUltraSSD": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with UltraSSD enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..7fb10e4c05aa --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with FIPS enabled OS" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..eb8827829815 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_ND96asr_v4" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_ND96asr_v4" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_ND96asr_v4" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with GPUMIG" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..8bac7787d193 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,277 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with HTTP proxy configured" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json new file mode 100644 index 000000000000..084c079bd5d6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json @@ -0,0 +1,246 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "ingressProfile": { + "applicationLoadBalancer": { + "enabled": true + } + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Application Load Balancer Profile configured" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_IngressProfile_WebAppRouting.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_IngressProfile_WebAppRouting.json new file mode 100644 index 000000000000..d5321db6af58 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_IngressProfile_WebAppRouting.json @@ -0,0 +1,249 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Web App Routing Ingress Profile configured" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_MCSnapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_MCSnapshot.json new file mode 100644 index 000000000000..3a7eb9b6639f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_MCSnapshot.json @@ -0,0 +1,224 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "dnsPrefix": "dnsprefix1", + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster using a managed cluster snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..4819ce0dde08 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + }, + "outboundType": "managedNATGateway" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "basic", + "natGatewayProfile": { + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + } + }, + "networkPlugin": "kubenet", + "outboundType": "managedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "natGatewayProfile": { + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + } + }, + "networkPlugin": "kubenet", + "outboundType": "managedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with AKS-managed NAT gateway as outbound type" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_NodeAutoProvisioning.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_NodeAutoProvisioning.json new file mode 100644 index 000000000000..ead83be0ae1d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_NodeAutoProvisioning.json @@ -0,0 +1,228 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Node Auto Provisioning" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..3960eb9c0664 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Node Public IP Prefix" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..bc8725765b41 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osSKU": "AzureLinux", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with OSSKU" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..5ee2383e6cfe --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PPG.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with PPG" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..4f0e998829b5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,262 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "podIdentityProfile": { + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "podIdentityProfile": { + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "podIdentityProfile": { + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with PodIdentity enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Premium.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Premium.json new file mode 100644 index 000000000000..36a886e2bfb5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Premium.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with LongTermSupport" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..7937b6fd1fcb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Private Cluster with fqdn subdomain specified" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..bf5814a46e88 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,267 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Private Cluster with Public FQDN specified" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..97eb0077b37c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,290 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityGating": { + "allowSecretAccess": true, + "enabled": true, + "identities": [ + { + "azureContainerRegistry": "registry1", + "identity": { + "clientId": "client1", + "resourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/IDENTITY_NAME" + } + } + ] + }, + "securityMonitoring": { + "enabled": true + } + } + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityGating": { + "allowSecretAccess": true, + "enabled": true, + "identities": [ + { + "azureContainerRegistry": "registry1", + "identity": { + "clientId": "client1", + "resourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/IDENTITY_NAME" + } + } + ] + }, + "securityMonitoring": { + "enabled": true + } + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityGating": { + "allowSecretAccess": true, + "enabled": true, + "identities": [ + { + "azureContainerRegistry": "registry1", + "identity": { + "clientId": "client1", + "resourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/IDENTITY_NAME" + } + } + ] + }, + "securityMonitoring": { + "enabled": true + } + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Security Profile configured" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..7b877ba099b2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,262 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "enableFIPS": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster using an agent pool snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..871796f27267 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_Update.json @@ -0,0 +1,314 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "upgradeSettings": { + "overrideSettings": { + "forceUpgrade": true, + "until": "2022-11-01T13:00:00Z" + } + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "upgradeSettings": { + "overrideSettings": { + "forceUpgrade": false, + "until": "2022-11-01T13:00:00Z" + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..f8f03d41a3f2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,298 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with Windows gMSA enabled" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..4f3e00dd8e3f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,292 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with EnableAHUB" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..1559911561c9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "aadProfile": { + "enableAzureRBAC": true, + "managed": true + }, + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "managed": true, + "tenantID": "tenantID" + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "aadProfile": { + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "managed": true, + "tenantID": "tenantID" + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update AAD Managed Cluster with EnableAzureRBAC" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json new file mode 100644 index 000000000000..21670e19319a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json @@ -0,0 +1,268 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableNamespaceResources": true, + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableNamespaceResources": true, + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableNamespaceResources": true, + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with EnableNamespaceResources" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..137c473a5988 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "userAssignedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "userAssignedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with user-assigned NAT gateway as outbound type" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_VirtualMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_VirtualMachines.json new file mode 100644 index 000000000000..4436a95424d4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersCreate_VirtualMachines.json @@ -0,0 +1,228 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "location1", + "properties": { + "addonProfiles": {}, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachines", + "count": 3, + "enableFIPS": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachines", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + }, + "201": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "type": "VirtualMachines", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with VirtualMachines pool type" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersDelete.json new file mode 100644 index 000000000000..83193cee20b8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_Delete", + "title": "Delete Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet.json new file mode 100644 index 000000000000..78ff2eb4064c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "eTag": "beywbwei", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "nvewbvoi", + "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "upgradeSettings": { + "maxSurge": "33%" + }, + "vmSize": "Standard_DS1_v2" + } + ], + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], + "idleTimeoutInMinutes": 10, + "outboundIPs": { + "publicIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" + } + ] + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "upgradeSettings": { + "overrideSettings": { + "forceUpgrade": true, + "until": "2022-11-01T13:00:00Z" + } + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + } + }, + "operationId": "ManagedClusters_Get", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..cbec4f04ad56 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGetAccessProfile.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clusterUser", + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "properties": { + "kubeConfig": "a3ViZUNvbmZpZzE=" + } + } + } + }, + "operationId": "ManagedClusters_GetAccessProfile", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..1807989877f2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "default", + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "properties": { + "agentPoolProfiles": [ + { + "name": "agent", + "kubernetesVersion": "1.7.7", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9" + }, + { + "isPreview": true, + "kubernetesVersion": "1.7.11" + } + ] + } + ], + "controlPlaneProfile": { + "name": "master", + "kubernetesVersion": "1.7.7", + "osType": "Linux", + "upgrades": [ + { + "isPreview": true, + "kubernetesVersion": "1.7.9" + }, + { + "kubernetesVersion": "1.7.11" + } + ] + } + } + } + } + }, + "operationId": "ManagedClusters_GetUpgradeProfile", + "title": "Get Upgrade Profile for Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet_MeshRevisionProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet_MeshRevisionProfile.json new file mode 100644 index 000000000000..fb8bf56ff122 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet_MeshRevisionProfile.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "location1", + "mode": "istio", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", + "properties": { + "meshRevisions": [ + { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ], + "revision": "asm-1-17", + "upgrades": [ + "1-18" + ] + }, + { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.24", + "1.25", + "1.26", + "1.27" + ] + } + ], + "revision": "asm-1-18", + "upgrades": [] + } + ] + } + } + } + }, + "operationId": "ManagedClusters_GetMeshRevisionProfile", + "title": "Get a mesh revision profile for a mesh mode" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet_MeshUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet_MeshUpgradeProfile.json new file mode 100644 index 000000000000..df0333a905c4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersGet_MeshUpgradeProfile.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "mode": "istio", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", + "properties": { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ], + "revision": "asm-1-17", + "upgrades": [ + "1-18" + ] + } + } + } + }, + "operationId": "ManagedClusters_GetMeshUpgradeProfile", + "title": "Gets version compatibility and upgrade profile for a service mesh in a cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList.json new file mode 100644 index 000000000000..07cde1e6183b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "eTag": "nvweuib", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "byuefvwi", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + ] + } + } + }, + "operationId": "ManagedClusters_List", + "title": "List Managed Clusters" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..dbfa3b9fc396 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListByResourceGroup.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "maxAgentPools": 1, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv2": "", + "tier": "production" + } + } + ] + } + } + }, + "operationId": "ManagedClusters_ListByResourceGroup", + "title": "Get Managed Clusters by Resource Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterAdminCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterAdminCredentials.json new file mode 100644 index 000000000000..876569c96def --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterAdminCredentials.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..01d4571207bc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterUserCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterUserCredentials.json new file mode 100644 index 000000000000..da42f7b5ebfa --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersListClusterUserCredentials.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListClusterUserCredentials", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList_MeshRevisionProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList_MeshRevisionProfiles.json new file mode 100644 index 000000000000..bfef97baf3df --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList_MeshRevisionProfiles.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", + "properties": { + "meshRevisions": [ + { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ], + "revision": "asm-1-17", + "upgrades": [ + "1-18" + ] + }, + { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.24", + "1.25", + "1.26", + "1.27" + ] + } + ], + "revision": "asm-1-18", + "upgrades": [] + } + ] + } + } + ] + } + } + }, + "operationId": "ManagedClusters_ListMeshRevisionProfiles", + "title": "List mesh revision profiles in a location" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList_MeshUpgradeProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList_MeshUpgradeProfiles.json new file mode 100644 index 000000000000..d0dc69d69ae6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersList_MeshUpgradeProfiles.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", + "properties": { + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ], + "revision": "asm-1-17", + "upgrades": [ + "1-18" + ] + } + } + ] + } + } + }, + "operationId": "ManagedClusters_ListMeshUpgradeProfiles", + "title": "Lists version compatibility and upgrade profile for all service meshes in a cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..695ab482bc4e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersResetAADProfile.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + }, + "operationId": "ManagedClusters_ResetAADProfile", + "title": "Reset AAD Profile" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..5939f5fdf5ee --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "clientId": "clientid", + "secret": "secret" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + }, + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "title": "Reset Service Principal Profile" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..8c14c7b44d02 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_RotateClusterCertificates", + "title": "Rotate Cluster Certificates" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersRotateServiceAccountSigningKeys.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersRotateServiceAccountSigningKeys.json new file mode 100644 index 000000000000..8ed8c7131230 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersRotateServiceAccountSigningKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", + "title": "Rotate Cluster Service Account Signing Keys" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersStart.json new file mode 100644 index 000000000000..a1e5f9a0bef9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersStart.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_Start", + "title": "Start Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersStop.json new file mode 100644 index 000000000000..c5800137f2cc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersStop.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "ManagedClusters_Stop", + "title": "Stop Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..ee7710b9b164 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedClustersUpdateTags.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "tags": { + "archv3": "", + "tier": "testing" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "clustername1", + "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "properties": { + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" + } + ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "dnsServiceIP": "10.0.0.10", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + } + }, + "tags": { + "archv3": "", + "tier": "testing" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + } + }, + "operationId": "ManagedClusters_UpdateTags", + "title": "Update Managed Cluster Tags" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesCreate_Update.json new file mode 100644 index 000000000000..a694bbbdaecb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesCreate_Update.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "managedNamespaceName": "namespace1", + "parameters": { + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" + } + }, + "tags": { + "tagKey1": "tagValue1" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "namespace1", + "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" + } + } + }, + "201": { + "body": { + "name": "namespace1", + "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" + }, + "provisioningState": "Updating" + }, + "tags": { + "tagKey1": "tagValue1" + } + } + } + }, + "operationId": "ManagedNamespaces_CreateOrUpdate", + "title": "Create/Update Managed Namespace" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesDelete.json new file mode 100644 index 000000000000..18634c05830c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "managedNamespaceName": "namespace1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/00000000-0000-0000-0000-000000000000?api-version=2025-10-02-preview" + } + }, + "204": {} + }, + "operationId": "ManagedNamespaces_Delete", + "title": "Delete Managed Namespace" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesGet.json new file mode 100644 index 000000000000..4ffad22281b7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "managedNamespaceName": "namespace1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "namespace1", + "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" + } + } + } + }, + "operationId": "ManagedNamespaces_Get", + "title": "Get Managed Namespace" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesList.json new file mode 100644 index 000000000000..ff47ac24808e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "managedNamespaceName": "namespace1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "namespace1", + "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" + } + } + ] + } + } + }, + "operationId": "ManagedNamespaces_ListByManagedCluster", + "title": "List namespaces by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesListCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesListCredentialResult.json new file mode 100644 index 000000000000..d5e849e47bea --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesListCredentialResult.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "managedNamespaceName": "namespace1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedNamespaces_ListCredential", + "title": "List managed namespace credentials" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesUpdateTags.json new file mode 100644 index 000000000000..d9c78858ef14 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ManagedNamespacesUpdateTags.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "managedNamespaceName": "namespace1", + "parameters": { + "tags": { + "tagKey1": "tagValue1", + "tagKey2": "tagValue2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "location": "eastus2", + "properties": { + "adoptionPolicy": "IfIdentical", + "annotations": { + "annatationKey": "annatationValue" + }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, + "defaultResourceQuota": { + "cpuLimit": "3m", + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" + }, + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1", + "tagKey2": "tagValue2" + } + } + } + }, + "operationId": "ManagedNamespaces_Update", + "title": "Update Managed Namespace Tags" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_CreateOrUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_CreateOrUpdate.json new file mode 100644 index 000000000000..bd4d3286b6a7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_CreateOrUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "meshMembershipName": "meshmembership1", + "parameters": { + "properties": { + "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" + } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "meshmembership1", + "type": "Microsoft.ContainerService/managedClusters/meshMemberships", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", + "properties": { + "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" + } + } + }, + "201": { + "body": { + "name": "meshmembership1", + "type": "Microsoft.ContainerService/managedClusters/meshMemberships", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", + "properties": { + "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" + } + } + } + }, + "operationId": "MeshMemberships_CreateOrUpdate", + "title": "Create or update Mesh Membership" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_Delete.json new file mode 100644 index 000000000000..6728afdf3252 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "meshMembershipName": "meshmembership1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2025-10-02-preview" + } + }, + "204": {} + }, + "operationId": "MeshMemberships_Delete", + "title": "Delete Mesh Membership" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_Get.json new file mode 100644 index 000000000000..4ea90076cd04 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "meshMembershipName": "meshmembership1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "meshmembership1", + "type": "Microsoft.ContainerService/managedClusters/meshMemberships", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", + "properties": { + "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" + } + } + } + }, + "operationId": "MeshMemberships_Get", + "title": "Get Mesh Membership" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_ListByManagedCluster.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_ListByManagedCluster.json new file mode 100644 index 000000000000..5d4e8d5dafd2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/MeshMemberships_ListByManagedCluster.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "meshmembership1", + "type": "Microsoft.ContainerService/managedClusters/meshMemberships", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", + "properties": { + "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" + } + } + ] + } + } + }, + "operationId": "MeshMemberships_ListByManagedCluster", + "title": "List Mesh Memberships by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/NodeImageVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/NodeImageVersions_List.json new file mode 100644 index 000000000000..bbd5042ab991 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/NodeImageVersions_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "fullName": "AKSCBLMariner-V1-202308.28.0", + "os": "AKSCBLMariner", + "sku": "V1", + "version": "202308.28.0" + }, + { + "fullName": "AKSUbuntu-2204gen2minimalcontainerd-202401.12.0", + "os": "AKSUbuntu", + "sku": "2204gen2minimalcontainerd", + "version": "202401.12.0" + } + ] + } + } + }, + "operationId": "ContainerService_ListNodeImageVersions", + "title": "List Node Image Versions" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultGet.json new file mode 100644 index 000000000000..4510df05a2d4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000001", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000001", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/00000000-0000-0000-0000-000000000001", + "percentComplete": 40, + "startTime": "2023-07-26T12:14:26.3179428Z", + "status": "InProgress" + } + } + }, + "operationId": "OperationStatusResult_Get", + "title": "Get OperationStatusResult" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultGetByAgentPool.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultGetByAgentPool.json new file mode 100644 index 000000000000..2cdb7d38a9b0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultGetByAgentPool.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000001", + "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000001", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/operations/00000000-0000-0000-0000-000000000001", + "percentComplete": 40, + "startTime": "2023-07-26T12:14:26.3179428Z", + "status": "InProgress" + } + } + }, + "operationId": "OperationStatusResult_GetByAgentPool", + "title": "Get OperationStatusResult" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultList.json new file mode 100644 index 000000000000..60c244008497 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OperationStatusResultList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "d11edb09-6e27-429f-9fe5-17baf773bc4a", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/d11edb09-6e27-429f-9fe5-17baf773bc4a", + "percentComplete": 40, + "startTime": "2023-07-26T12:14:26.3179428Z", + "status": "InProgress" + }, + { + "name": "d11edb09-6e27-429f-9fe5-17baf773bc4b", + "endTime": "2023-07-26T12:14:50.3179428Z", + "error": { + "code": "ReconcileAgentPoolIdentityError", + "message": "Reconcile agent pool nodepool1 identity failed" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/d11edb09-6e27-429f-9fe5-17baf773bc4b", + "startTime": "2023-07-26T12:14:26.3179428Z", + "status": "Failed" + } + ] + } + } + }, + "operationId": "OperationStatusResult_List", + "title": "List of OperationStatusResult" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/Operation_List.json new file mode 100644 index 000000000000..cadeb6176f6c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/Operation_List.json @@ -0,0 +1,3575 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ContainerService/locations/operations/read", + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/operations/read", + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/register/action", + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/unregister/action", + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/locations/operationresults/read", + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/containerServices/read", + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/containerServices/write", + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/containerServices/delete", + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/read", + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/write", + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/delete", + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/start/action", + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/snapshots/read", + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/snapshots/write", + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/snapshots/delete", + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events/read", + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events/write", + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/services/read", + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/services/write", + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/api/read", + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/version/read", + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "origin": "system" + }, + { + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftClusters/read", + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftClusters/write", + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "origin": "user,system" + } + ] + } + } + }, + "operationId": "Operations_List", + "title": "List available operations for the container service resource provider" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..e579e16a84c9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,244 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "description": "mcr cdn", + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + }, + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "title": "List OutboundNetworkDependenciesEndpoints by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..929cf68ab5a3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "privateEndpointConnectionName": "privateendpointconnection1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + }, + "204": {} + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "Delete Private Endpoint Connection" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..b19fcb362ab5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "privateEndpointConnectionName": "privateendpointconnection1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "Get Private Endpoint Connection" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..a1a4f8fcc533 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + }, + "operationId": "PrivateEndpointConnections_List", + "title": "List Private Endpoint Connections by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..63a619b1910f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + }, + "privateEndpointConnectionName": "privateendpointconnection1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "PrivateEndpointConnections_Update", + "title": "Update Private Endpoint Connection" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..372406deb536 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/PrivateLinkResourcesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName", + "requiredMembers": [ + "management" + ] + } + ] + } + } + }, + "operationId": "PrivateLinkResources_List", + "title": "List Private Link Resources by Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..67d1a56f8a70 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/ResolvePrivateLinkServiceId.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "name": "management" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + }, + "operationId": "ResolvePrivateLinkServiceId_POST", + "title": "Resolve the Private Link Service ID for Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandRequest.json new file mode 100644 index 000000000000..3e12e1023ca7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandRequest.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "requestPayload": { + "clusterToken": "", + "command": "kubectl apply -f ns.yaml", + "context": "" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "exitCode": 0, + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created", + "provisioningState": "succeeded", + "startedAt": "2021-02-17T00:28:20Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" + } + } + }, + "operationId": "ManagedClusters_RunCommand", + "title": "submitNewCommand" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandResultFailed.json new file mode 100644 index 000000000000..f523caa9079d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandResultFailed.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" + } + } + }, + "operationId": "ManagedClusters_GetCommandResult", + "title": "commandFailedResult" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandResultSucceed.json new file mode 100644 index 000000000000..c591203521e0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/RunCommandResultSucceed.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "exitCode": 0, + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created", + "provisioningState": "succeeded", + "startedAt": "2021-02-17T00:28:20Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" + } + } + }, + "operationId": "ManagedClusters_GetCommandResult", + "title": "commandSucceedResult" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsCreate.json new file mode 100644 index 000000000000..1db82e886d00 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsCreate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "Snapshots_CreateOrUpdate", + "title": "Create/Update Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsDelete.json new file mode 100644 index 000000000000..ad53f3d3039c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "Snapshots_Delete", + "title": "Delete Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsGet.json new file mode 100644 index 000000000000..e42e27731b0e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "Snapshots_Get", + "title": "Get Snapshot" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsList.json new file mode 100644 index 000000000000..b64cd3f7c5d5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + ] + } + } + }, + "operationId": "Snapshots_List", + "title": "List Snapshots" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..fd170dc46745 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsListByResourceGroup.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + ] + } + } + }, + "operationId": "Snapshots_ListByResourceGroup", + "title": "List Snapshots by Resource Group" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..0e3c368cf484 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/SnapshotsUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "location": "westus", + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "enableFIPS": false, + "kubernetesVersion": "1.20.5", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "osSku": "Ubuntu", + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" + } + } + } + }, + "operationId": "Snapshots_UpdateTags", + "title": "Update Snapshot Tags" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_CreateOrUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_CreateOrUpdate.json new file mode 100644 index 000000000000..154fac712263 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_CreateOrUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "trustedAccessRoleBinding": { + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + }, + "trustedAccessRoleBindingName": "binding1" + }, + "responses": { + "200": { + "body": { + "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + } + }, + "201": { + "body": { + "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + } + } + }, + "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", + "title": "Create or update a trusted access role binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_Delete.json new file mode 100644 index 000000000000..674cb3a08f23 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "trustedAccessRoleBindingName": "binding1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + }, + "operationId": "TrustedAccessRoleBindings_Delete", + "title": "Delete a trusted access role binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_Get.json new file mode 100644 index 000000000000..586c3d50cff9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "trustedAccessRoleBindingName": "binding1" + }, + "responses": { + "200": { + "body": { + "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + } + } + }, + "operationId": "TrustedAccessRoleBindings_Get", + "title": "Get a trusted access role binding" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_List.json new file mode 100644 index 000000000000..4d245e9971fd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoleBindings_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "properties": { + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" + } + } + ] + } + } + }, + "operationId": "TrustedAccessRoleBindings_List", + "title": "List trusted access role bindings" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoles_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoles_List.json new file mode 100644 index 000000000000..c2a8ce6d60c4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/examples/2025-10-02-preview/TrustedAccessRoles_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "location": "westus2", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "reader", + "rules": [ + { + "apiGroups": [ + "" + ], + "nonResourceURLs": [], + "resourceNames": [], + "resources": [ + "pods" + ], + "verbs": [ + "get" + ] + } + ], + "sourceResourceType": "Microsoft.MachineLearningServices/workspaces" + } + ] + } + } + }, + "operationId": "TrustedAccessRoles_List", + "title": "List trusted access roles" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/main.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/main.tsp new file mode 100644 index 000000000000..7f3b071c4f8e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/main.tsp @@ -0,0 +1,64 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: true + * guessResourceKey: false + * Version: 0.11.12 + * Date: 2025-12-23T07:19:58.550Z + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./back-compatible.tsp"; +import "./ManagedClusterUpgradeProfile.tsp"; +import "./ManagedCluster.tsp"; +import "./GuardrailsAvailableVersion.tsp"; +import "./SafeguardsAvailableVersion.tsp"; +import "./MeshRevisionProfile.tsp"; +import "./MeshUpgradeProfile.tsp"; +import "./MaintenanceConfiguration.tsp"; +import "./ManagedNamespace.tsp"; +import "./AgentPool.tsp"; +import "./AgentPoolUpgradeProfile.tsp"; +import "./Machine.tsp"; +import "./PrivateEndpointConnection.tsp"; +import "./Snapshot.tsp"; +import "./ManagedClusterSnapshot.tsp"; +import "./TrustedAccessRoleBinding.tsp"; +import "./LoadBalancer.tsp"; +import "./IdentityBinding.tsp"; +import "./JWTAuthenticator.tsp"; +import "./MeshMembership.tsp"; +import "./routes.tsp"; + +using Azure.ResourceManager; +using TypeSpec.Versioning; +using Azure.Core; + +/** + * The Container Service Client. + */ +@armProviderNamespace +@service(#{ title: "ContainerServiceClient" }) +@versioned(Versions) +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v6) +namespace Microsoft.ContainerService; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2025-10-01 API version. + */ + v2025_10_01: "2025-10-01", + + /** + * The 2025-10-02-preview API version. + */ + @previewVersion + v2025_10_02_preview: "2025-10-02-preview", +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/models.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/models.tsp new file mode 100644 index 000000000000..c74764d3bf0b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/models.tsp @@ -0,0 +1,7143 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; +using Versioning; + +namespace Microsoft.ContainerService; + +/** + * Different support tiers for AKS managed clusters + */ +union KubernetesSupportPlan { + string, + + /** + * Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release. + */ + KubernetesOfficial: "KubernetesOfficial", + + /** + * Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. + */ + AKSLongTermSupport: "AKSLongTermSupport", +} + +/** + * The name of a managed cluster SKU. + */ +union ManagedClusterSKUName { + string, + + /** + * Base option for the AKS control plane. + */ + Base: "Base", + + /** + * Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic. + */ + Automatic: "Automatic", +} + +/** + * The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + */ +union ManagedClusterSKUTier { + string, + + /** + * Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions. + */ + Premium: "Premium", + + /** + * Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones. + */ + Standard: "Standard", + + /** + * The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. + */ + Free: "Free", +} + +/** + * The type of extendedLocation. + */ +union ExtendedLocationTypes { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + EdgeZone: "EdgeZone", +} + +/** + * Tells whether the cluster is Running or Stopped + */ +union Code { + string, + + /** + * The cluster is running. + */ + Running: "Running", + + /** + * The cluster is stopped. + */ + Stopped: "Stopped", +} + +/** + * The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ +union OSDiskType { + string, + + /** + * Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency. + */ + Managed: "Managed", + + /** + * Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades. + */ + Ephemeral: "Ephemeral", +} + +/** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ +union KubeletDiskType { + string, + + /** + * Kubelet will use the OS disk for its data. + */ + OS: "OS", + + /** + * Kubelet will use the temporary disk for its data. + */ + Temporary: "Temporary", +} + +/** + * Determines the type of workload a node can run. + */ +union WorkloadRuntime { + string, + + /** + * Nodes will use Kubelet to run standard OCI container workloads. + */ + OCIContainer: "OCIContainer", + + /** + * Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). + */ + WasmWasi: "WasmWasi", + + /** + * Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series. This naming convention will be deprecated in future releases in favor of KataVmIsolation. + */ + @added(Versions.v2025_10_02_preview) + KataMshvVmIsolation: "KataMshvVmIsolation", + + /** + * Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series. + */ + KataVmIsolation: "KataVmIsolation", +} + +/** + * Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. + */ +union PodIPAllocationMode { + string, + + /** + * Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode + */ + DynamicIndividual: "DynamicIndividual", + + /** + * Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger + */ + StaticBlock: "StaticBlock", +} + +/** + * The operating system type. The default is Linux. + */ +union OSType { + string, + + /** + * Use Linux. + */ + Linux: "Linux", + + /** + * Use Windows. + */ + Windows: "Windows", +} + +/** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ +union OSSKU { + string, + + /** + * Use Ubuntu as the OS for node images. + */ + Ubuntu: "Ubuntu", + + /** + * Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. + */ + AzureLinux: "AzureLinux", + + /** + * Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. For limitations, visit https://aka.ms/aks/node-images. For OS migration guidance, see https://aka.ms/aks/upgrade-os-version. + */ + AzureLinux3: "AzureLinux3", + + /** + * Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. + */ + @added(Versions.v2025_10_02_preview) + Mariner: "Mariner", + + /** + * Use Flatcar Container Linux as the OS for node images. Flatcar is a container-optimized, security-focused Linux OS, with an immutable filesystem and part of the Cloud Native Computing Foundation (CNCF). For more information about Flatcar Container Linux for AKS, see aka.ms/aks/flatcar-container-linux-for-aks + */ + @added(Versions.v2025_10_02_preview) + Flatcar: "Flatcar", + + /** + * Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. + */ + CBLMariner: "CBLMariner", + + /** + * Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa. + */ + Windows2019: "Windows2019", + + /** + * Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa. + */ + Windows2022: "Windows2022", + + /** + * Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https://aka.ms/aks/supported-ubuntu-versions + */ + Ubuntu2204: "Ubuntu2204", + + /** + * Use Windows2025 as the OS for node images. Unsupported for system node pools. Windows2025 supports Windows2022 and Windows 2025 containers; it cannot run Windows2019 containers and vice versa. + */ + @added(Versions.v2025_10_02_preview) + Windows2025: "Windows2025", + + /** + * Use Windows Annual Channel version as the OS for node images. Unsupported for system node pools. Details about supported container images and kubernetes versions under different AKS Annual Channel versions could be seen in https://aka.ms/aks/windows-annual-channel-details. + */ + @added(Versions.v2025_10_02_preview) + WindowsAnnual: "WindowsAnnual", + + /** + * Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https://aka.ms/aks/supported-ubuntu-versions + */ + Ubuntu2404: "Ubuntu2404", +} + +/** + * Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing). + */ +union ScaleDownMode { + string, + + /** + * Create new instances during scale up and remove instances during scale down. + */ + Delete: "Delete", + + /** + * Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down. + */ + Deallocate: "Deallocate", +} + +/** + * The type of Agent Pool. + */ +union AgentPoolType { + string, + + /** + * Create an Agent Pool backed by a Virtual Machine Scale Set. + */ + VirtualMachineScaleSets: "VirtualMachineScaleSets", + + /** + * Use of this is strongly discouraged. + */ + AvailabilitySet: "AvailabilitySet", + + /** + * Create an Agent Pool backed by a Single Instance VM orchestration mode. + */ + VirtualMachines: "VirtualMachines", +} + +/** + * The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ +union AgentPoolMode { + string, + + /** + * System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. + */ + System: "System", + + /** + * User agent pools are primarily for hosting your application pods. + */ + User: "User", + + /** + * Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway. + */ + Gateway: "Gateway", + + /** + * ManagedSystem is a system pool managed by AKS. The pool scales dynamically according to cluster usage, and has additional automated monitoring and healing capabilities. There can only be one ManagedSystem pool, and it is recommended to delete all other system pools for the best experience. + */ + @added(Versions.v2025_10_02_preview) + ManagedSystem: "ManagedSystem", + + /** + * Machines agent pools are dedicated to hosting machines. Only limited operations, such as creation and deletion, are allowed at the pool level. Please use the machine APIs to manage the full machine lifecycle. + */ + @added(Versions.v2025_10_02_preview) + Machines: "Machines", +} + +/** + * Defines the upgrade strategy for the agent pool. The default is Rolling. + */ +@added(Versions.v2025_10_02_preview) +union UpgradeStrategy { + string, + + /** + * Specifies that the agent pool will conduct rolling upgrade. This is the default upgrade strategy. + */ + Rolling: "Rolling", + + /** + * Specifies that the agent pool will conduct blue-green upgrade. + */ + BlueGreen: "BlueGreen", +} + +/** + * Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. + */ +union UndrainableNodeBehavior { + string, + + /** + * AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state. + */ + Cordon: "Cordon", + + /** + * AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes. + */ + Schedule: "Schedule", +} + +/** + * The Virtual Machine Scale Set priority. + */ +union ScaleSetPriority { + string, + + /** + * Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information. + */ + Spot: "Spot", + + /** + * Regular VMs will be used. + */ + Regular: "Regular", +} + +/** + * The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) + */ +union ScaleSetEvictionPolicy { + string, + + /** + * Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. + */ + Delete: "Delete", + + /** + * Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading. + */ + Deallocate: "Deallocate", +} + +/** + * Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' will be used by default. + */ +@added(Versions.v2025_10_02_preview) +union SeccompDefault { + string, + + /** + * No seccomp profile is applied, allowing all system calls. + */ + Unconfined: "Unconfined", + + /** + * The default seccomp profile for container runtime is applied, which restricts certain system calls for enhanced security. + */ + RuntimeDefault: "RuntimeDefault", +} + +/** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ +union GPUInstanceProfile { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + MIG1g: "MIG1g", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + MIG2g: "MIG2g", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + MIG3g: "MIG3g", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + MIG4g: "MIG4g", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + MIG7g: "MIG7g", +} + +/** + * The network protocol of the port. + */ +union Protocol { + string, + + /** + * TCP protocol. + */ + TCP: "TCP", + + /** + * UDP protocol. + */ + UDP: "UDP", +} + +/** + * SSH access method of an agent pool. + */ +union AgentPoolSSHAccess { + string, + + /** + * Can SSH onto the node as a local user using private key. + */ + LocalUser: "LocalUser", + + /** + * SSH service will be turned off on the node. + */ + Disabled: "Disabled", + + /** + * SSH to node with EntraId integration. More information can be found under https://aka.ms/aks/ssh/aad + */ + @added(Versions.v2025_10_02_preview) + EntraId: "EntraId", +} + +/** + * Whether to install GPU drivers. When it's not specified, default is Install. + */ +union GPUDriver { + string, + + /** + * Install driver. + */ + Install: "Install", + + /** + * Skip driver install. + */ + None: "None", +} + +/** + * Specify the type of GPU driver to install when creating Windows agent pools. If not provided, AKS selects the driver based on system compatibility. This cannot be changed once the AgentPool has been created. This cannot be set on Linux AgentPools. For Linux AgentPools, the driver is selected based on system compatibility. + */ +@added(Versions.v2025_10_02_preview) +union DriverType { + string, + + /** + * Install the GRID driver for the GPU, suitable for applications requiring virtualization support. + */ + GRID: "GRID", + + /** + * Install the CUDA driver for the GPU, optimized for computational tasks in scientific computing and data-intensive applications. + */ + CUDA: "CUDA", +} + +/** + * Mode of enablement for localDNS. + */ +union LocalDNSMode { + string, + + /** + * If the current orchestrator version supports this feature, prefer enabling localDNS. + */ + Preferred: "Preferred", + + /** + * Enable localDNS. + */ + Required: "Required", + + /** + * Disable localDNS. + */ + Disabled: "Disabled", +} + +/** + * System-generated state of localDNS. + */ +union LocalDNSState { + string, + + /** + * localDNS is enabled. + */ + Enabled: "Enabled", + + /** + * localDNS is disabled. + */ + Disabled: "Disabled", +} + +/** + * Log level for DNS queries in localDNS. + */ +union LocalDNSQueryLogging { + string, + + /** + * Enables error logging in localDNS. See [errors plugin](https://coredns.io/plugins/errors) for more information. + */ + Error: "Error", + + /** + * Enables query logging in localDNS. See [log plugin](https://coredns.io/plugins/log) for more information. + */ + Log: "Log", +} + +/** + * Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. + */ +union LocalDNSProtocol { + string, + + /** + * Prefer UDP protocol for connections from localDNS to upstream DNS server. + */ + PreferUDP: "PreferUDP", + + /** + * Enforce TCP protocol for connections from localDNS to upstream DNS server. + */ + ForceTCP: "ForceTCP", +} + +/** + * Destination server for DNS queries to be forwarded from localDNS. + */ +union LocalDNSForwardDestination { + string, + + /** + * Forward DNS queries from localDNS to cluster CoreDNS. + */ + ClusterCoreDNS: "ClusterCoreDNS", + + /** + * Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured. + */ + VnetDNS: "VnetDNS", +} + +/** + * Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. + */ +union LocalDNSForwardPolicy { + string, + + /** + * Implements sequential upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. + */ + Sequential: "Sequential", + + /** + * Implements round robin upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. + */ + RoundRobin: "RoundRobin", + + /** + * Implements random upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information. + */ + Random: "Random", +} + +/** + * Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. + */ +union LocalDNSServeStale { + string, + + /** + * Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https://coredns.io/plugins/cache) for more information. + */ + Verify: "Verify", + + /** + * Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https://coredns.io/plugins/cache) for more information. + */ + Immediate: "Immediate", + + /** + * Disable serving stale data. + */ + Disable: "Disable", +} + +/** + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + */ +union LicenseType { + string, + + /** + * No additional licensing is applied. + */ + None: "None", + + /** + * Enables Azure Hybrid User Benefits for Windows VMs. + */ + Windows_Server: "Windows_Server", +} + +/** + * The current provisioning state of the pod identity. + */ +union ManagedClusterPodIdentityProvisioningState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Assigned: "Assigned", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Canceled: "Canceled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Deleting: "Deleting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Updating: "Updating", +} + +/** + * The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' + */ +union RestrictionLevel { + string, + + /** + * All RBAC permissions are allowed on the managed node resource group + */ + Unrestricted: "Unrestricted", + + @doc("Only \\*\\/read RBAC permissions allowed on the managed node resource group") + ReadOnly: "ReadOnly", +} + +/** + * Network plugin used for building the Kubernetes network. + */ +union NetworkPlugin { + string, + + /** + * Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information. + */ + azure: "azure", + + /** + * Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information. + */ + kubenet: "kubenet", + + /** + * No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information. + */ + none: "none", +} + +/** + * The mode the network plugin should use. + */ +union NetworkPluginMode { + string, + + /** + * Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay. + */ + overlay: "overlay", +} + +/** + * Network policy used for building the Kubernetes network. + */ +union NetworkPolicy { + string, + + /** + * Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. + */ + none: "none", + + /** + * Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. + */ + calico: "calico", + + /** + * Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information. + */ + azure: "azure", + + /** + * Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. + */ + cilium: "cilium", +} + +/** + * The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. + */ +union NetworkMode { + string, + + /** + * No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information. + */ + transparent: "transparent", + + /** + * This is no longer supported + */ + bridge: "bridge", +} + +/** + * Network dataplane used in the Kubernetes cluster. + */ +union NetworkDataplane { + string, + + /** + * Use Azure network dataplane. + */ + azure: "azure", + + /** + * Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information. + */ + cilium: "cilium", +} + +/** + * Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. + */ +union AdvancedNetworkPolicies { + string, + + /** + * Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option. + */ + L7: "L7", + + /** + * Enable FQDN based network policies + */ + FQDN: "FQDN", + + /** + * Disable Layer 7 network policies (FQDN, HTTP/S, Kafka) + */ + None: "None", +} + +/** + * The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + */ +union OutboundType { + string, + + /** + * The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer). + */ + loadBalancer: "loadBalancer", + + /** + * Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting). + */ + userDefinedRouting: "userDefinedRouting", + + /** + * The AKS-managed NAT gateway is used for egress. + */ + managedNATGateway: "managedNATGateway", + + /** + * The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration. + */ + userAssignedNATGateway: "userAssignedNATGateway", + + /** + * The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/ + */ + none: "none", +} + +/** + * The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + */ +union LoadBalancerSku { + string, + + /** + * Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article. + */ + standard: "standard", + + /** + * Use a basic Load Balancer with limited functionality. + */ + basic: "basic", +} + +/** + * The type of the managed inbound Load Balancer BackendPool. + */ +union BackendPoolType { + string, + + /** + * The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. + */ + NodeIPConfiguration: "NodeIPConfiguration", + + /** + * The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. + */ + NodeIP: "NodeIP", +} + +/** + * To determine if address belongs IPv4 or IPv6 family + */ +union IPFamily { + string, + + /** + * IPv4 family + */ + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + IPv4: "IPv4", + + /** + * IPv6 family + */ + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + IPv6: "IPv6", +} + +/** + * The health probing behavior for External Traffic Policy Cluster services. + */ +@added(Versions.v2025_10_02_preview) +union ClusterServiceLoadBalancerHealthProbeMode { + string, + + /** + * Each External Traffic Policy Cluster service will have its own health probe targeting service nodePort. + */ + ServiceNodePort: "ServiceNodePort", + + /** + * All External Traffic Policy Cluster services in a Standard Load Balancer will have a dedicated health probe targeting the backend nodes' kube-proxy health check port 10256. + */ + Shared: "Shared", +} + +/** + * Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods with hostNetwork=false. If not specified, the default is 'IMDS'. + */ +@added(Versions.v2025_10_02_preview) +union PodLinkLocalAccess { + string, + + /** + * Pods with hostNetwork=false can access Azure Instance Metadata Service (IMDS) without restriction. + */ + IMDS: "IMDS", + + /** + * Pods with hostNetwork=false cannot access Azure Instance Metadata Service (IMDS). + */ + None: "None", +} + +/** + * Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES') + */ +@added(Versions.v2025_10_02_preview) +union Mode { + string, + + /** + * IPTables proxy mode + */ + IPTABLES: "IPTABLES", + + /** + * IPVS proxy mode. Must be using Kubernetes version >= 1.22. + */ + IPVS: "IPVS", + + /** + * NFTables proxy mode. Must be using Kubernetes version >= 1.33. + */ + NFTABLES: "NFTABLES", +} + +/** + * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. + */ +@added(Versions.v2025_10_02_preview) +union IpvsScheduler { + string, + + /** + * Round Robin + */ + RoundRobin: "RoundRobin", + + /** + * Least Connection + */ + LeastConnection: "LeastConnection", +} + +/** + * Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. + */ +@added(Versions.v2025_10_02_preview) +union TransitEncryptionType { + string, + + /** + * Enable WireGuard encryption. Refer to https://docs.cilium.io/en/latest/security/network/encryption-wireguard/ on use cases and implementation details + */ + WireGuard: "WireGuard", + + /** + * Disable Transit encryption + */ + None: "None", +} + +/** + * Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation + */ +@added(Versions.v2025_10_02_preview) +union AccelerationMode { + string, + + /** + * Enable eBPF host routing with veth device mode. + */ + BpfVeth: "BpfVeth", + + /** + * Disable acceleration options. + */ + None: "None", +} + +/** + * The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + */ +union UpgradeChannel { + string, + + /** + * Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. + */ + rapid: "rapid", + + /** + * Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. + */ + stable: "stable", + + /** + * Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. + */ + patch: "patch", + + /** + * Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching + */ + `node-image`: "node-image", + + /** + * Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. + */ + none: "none", +} + +/** + * Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. + */ +union NodeOSUpgradeChannel { + string, + + /** + * No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates + */ + None: "None", + + /** + * OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice + */ + Unmanaged: "Unmanaged", + + /** + * AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. + */ + NodeImage: "NodeImage", + + /** + * AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption. + */ + SecurityPatch: "SecurityPatch", +} + +/** + * The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + */ +union Expander { + string, + + /** + * Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. + */ + `least-waste`: "least-waste", + + /** + * Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. + */ + `most-pods`: "most-pods", + + /** + * Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md). + */ + priority: "priority", + + /** + * Used when you don't have a particular need for the node groups to scale differently. + */ + random: "random", +} + +/** + * Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + */ +union KeyVaultNetworkAccessTypes { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Public: "Public", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Private: "Private", +} + +/** + * Whether to enable encryption at rest of Kubernetes resource objects using service-managed keys. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption. + */ +@added(Versions.v2025_10_02_preview) +union InfrastructureEncryption { + string, + + /** + * Encryption at rest of Kubernetes resource objects using service-managed keys is enabled. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption. + */ + Enabled: "Enabled", + + /** + * Encryption at rest of Kubernetes resource objects using service-managed keys is disabled. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption. + */ + Disabled: "Disabled", +} + +/** + * Configuration for the managed Gateway API installation. If not specified, the default is 'Disabled'. See https://aka.ms/k8s-gateway-api for more details. + */ +union ManagedGatewayType { + string, + + /** + * Gateway API CRDs will not be reconciled on your cluster. + */ + Disabled: "Disabled", + + /** + * The latest Gateway CRD bundle from the standard channel that is compatible with your Kubernetes version will be reconciled onto your cluster. See https://gateway-api.sigs.k8s.io/concepts/versioning/ for more details. + */ + Standard: "Standard", +} + +/** + * Ingress type for the default NginxIngressController custom resource + */ +union NginxIngressControllerType { + string, + + /** + * The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations. + */ + AnnotationControlled: "AnnotationControlled", + + /** + * The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten. + */ + External: "External", + + /** + * The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten. + */ + Internal: "Internal", + + /** + * The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired. + */ + None: "None", +} + +/** + * PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS + */ +union PublicNetworkAccess { + string, + + /** + * Inbound/Outbound to the managedCluster is allowed. + */ + Enabled: "Enabled", + + /** + * Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed. + */ + Disabled: "Disabled", + + /** + * Inbound/Outbound traffic is managed by Microsoft.Network/NetworkSecurityPerimeters. + */ + @added(Versions.v2025_10_02_preview) + SecuredByPerimeter: "SecuredByPerimeter", +} + +/** + * Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. + */ +@added(Versions.v2025_10_02_preview) +union AddonAutoscaling { + string, + + /** + * Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial mode. + */ + Enabled: "Enabled", + + /** + * Feature to autoscale AKS-managed add-ons is disabled. + */ + Disabled: "Disabled", +} + +/** + * Mode of the service mesh. + */ +union ServiceMeshMode { + string, + + /** + * Istio deployed as an AKS addon. + */ + Istio: "Istio", + + /** + * Mesh is disabled. + */ + Disabled: "Disabled", +} + +/** + * Mode of an ingress gateway. + */ +union IstioIngressGatewayMode { + string, + + /** + * The ingress gateway is assigned a public IP address and is publicly accessible. + */ + External: "External", + + /** + * The ingress gateway is assigned an internal IP address and cannot is accessed publicly. + */ + Internal: "Internal", +} + +/** + * Mode of traffic redirection. + */ +@added(Versions.v2025_10_02_preview) +union ProxyRedirectionMechanism { + string, + + /** + * Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW). + */ + InitContainers: "InitContainers", + + /** + * Istio will install a chained CNI plugin to redirect traffic (recommended). + */ + CNIChaining: "CNIChaining", +} + +/** + * The node provisioning mode. If not specified, the default is Manual. + */ +union NodeProvisioningMode { + string, + + /** + * Nodes are provisioned manually by the user + */ + Manual: "Manual", + + /** + * Nodes are provisioned automatically by AKS using Karpenter (See aka.ms/aks/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details). + */ + Auto: "Auto", +} + +/** + * The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. + */ +union NodeProvisioningDefaultNodePools { + string, + + /** + * No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances. + */ + None: "None", + + /** + * A standard set of Karpenter NodePools are provisioned + */ + Auto: "Auto", +} + +/** + * The artifact source. The source where the artifacts are downloaded from. + */ +union ArtifactSource { + string, + + /** + * pull images from Azure Container Registry with cache + */ + Cache: "Cache", + + /** + * pull images from Microsoft Artifact Registry + */ + Direct: "Direct", +} + +/** + * The config customization mode for this scheduler instance. + */ +@added(Versions.v2025_10_02_preview) +union SchedulerConfigMode { + string, + + /** + * No config customization. Use default configuration. + */ + Default: "Default", + + /** + * Enable config customization. Customer can specify scheduler configuration via a CRD. See aka.ms/aks/scheduler-crd for details. + */ + ManagedByCRD: "ManagedByCRD", +} + +/** + * The type of identity that created the resource. + */ +union CreatedByType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + User: "User", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Application: "Application", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + ManagedIdentity: "ManagedIdentity", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Key: "Key", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +union Format { + string, + + /** + * Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26. + */ + azure: "azure", + + /** + * Return exec format kubeconfig. This format requires kubelogin binary in the path. + */ + exec: "exec", +} + +/** + * The weekday enum. + */ +union WeekDay { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Sunday: "Sunday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Monday: "Monday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Tuesday: "Tuesday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Wednesday: "Wednesday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Thursday: "Thursday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Friday: "Friday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Saturday: "Saturday", +} + +/** + * The week index. Specifies on which week of the month the dayOfWeek applies. + */ +union Type { + string, + + /** + * First week of the month. + */ + First: "First", + + /** + * Second week of the month. + */ + Second: "Second", + + /** + * Third week of the month. + */ + Third: "Third", + + /** + * Fourth week of the month. + */ + Fourth: "Fourth", + + /** + * Last week of the month. + */ + Last: "Last", +} + +/** + * The current provisioning state of the namespace. + */ +union NamespaceProvisioningState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Updating: "Updating", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Deleting: "Deleting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Creating: "Creating", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Canceled: "Canceled", +} + +/** + * Enum representing different network policy rules. + */ +union PolicyRule { + string, + + /** + * Deny all network traffic. + */ + DenyAll: "DenyAll", + + /** + * Allow all network traffic. + */ + AllowAll: "AllowAll", + + /** + * Allow traffic within the same namespace. + */ + AllowSameNamespace: "AllowSameNamespace", +} + +/** + * Action if Kubernetes namespace with same name already exists. + */ +union AdoptionPolicy { + string, + + /** + * If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail. + */ + Never: "Never", + + /** + * Take over the existing namespace to be managed by ARM, if there is no difference. + */ + IfIdentical: "IfIdentical", + + /** + * Always take over the existing namespace to be managed by ARM, some fields might be overwritten. + */ + Always: "Always", +} + +/** + * Delete options of a namespace. + */ +union DeletePolicy { + string, + + /** + * Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label. + */ + Keep: "Keep", + + /** + * Delete both the ARM resource and the Kubernetes namespace together. + */ + Delete: "Delete", +} + +/** + * The drift action of the machine. Indicates whether a machine has deviated from its expected state due to changes in managed cluster properties, requiring corrective action. + */ +@added(Versions.v2025_10_02_preview) +union DriftAction { + string, + + /** + * The machine is up to date. + */ + Synced: "Synced", + + /** + * The machine has drifted and needs to be deleted and recreated. + */ + Recreate: "Recreate", +} + +/** + * Virtual machine state. Indicates the current state of the underlying virtual machine. + */ +union VmState { + string, + + /** + * The virtual machine is currently running. + */ + Running: "Running", + + /** + * The virtual machine has been deleted by the user or due to spot eviction. + */ + Deleted: "Deleted", +} + +/** + * The current provisioning state. + */ +union PrivateEndpointConnectionProvisioningState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Canceled: "Canceled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Creating: "Creating", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Deleting: "Deleting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Succeeded: "Succeeded", +} + +/** + * The private link service connection status. + */ +union ConnectionStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Pending: "Pending", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Approved: "Approved", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Rejected: "Rejected", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Disconnected: "Disconnected", +} + +/** + * The type of a snapshot. The default is NodePool. + */ +union SnapshotType { + string, + + /** + * The snapshot is a snapshot of a node pool. + */ + NodePool: "NodePool", + + /** + * The snapshot is a snapshot of a managed cluster. + */ + @added(Versions.v2025_10_02_preview) + ManagedCluster: "ManagedCluster", +} + +/** + * The current provisioning state of trusted access role binding. + */ +union TrustedAccessRoleBindingProvisioningState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Canceled: "Canceled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Deleting: "Deleting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Updating: "Updating", +} + +/** + * Whether the version is preview or stable. + */ +@added(Versions.v2025_10_02_preview) +union GuardrailsSupport { + string, + + /** + * The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases. + */ + Preview: "Preview", + + /** + * The version is stable and can be used on critical production clusters. + */ + Stable: "Stable", +} + +/** + * Whether the version is preview or stable. + */ +@added(Versions.v2025_10_02_preview) +union SafeguardsSupport { + string, + + /** + * The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases. + */ + Preview: "Preview", + + /** + * The version is stable and can be used on critical production clusters. + */ + Stable: "Stable", +} + +/** + * operator represents a key's relationship to a set of values. Valid operators are In and NotIn + */ +@added(Versions.v2025_10_02_preview) +union Operator { + string, + + /** + * The value of the key should be in the given list. + */ + In: "In", + + /** + * The value of the key should not be in the given list. + */ + NotIn: "NotIn", + + /** + * The value of the key should exist. + */ + Exists: "Exists", + + /** + * The value of the key should not exist. + */ + DoesNotExist: "DoesNotExist", +} + +/** + * The provisioning state of the last accepted operation. + */ +@added(Versions.v2025_10_02_preview) +union IdentityBindingProvisioningState { + string, + + /** + * Resource has been created. + */ + Succeeded: "Succeeded", + + /** + * Resource creation failed. + */ + Failed: "Failed", + + /** + * Resource creation was canceled. + */ + Canceled: "Canceled", + + /** + * The identity binding is being created. + */ + Creating: "Creating", + + /** + * The identity binding is being updated. + */ + Updating: "Updating", + + /** + * The identity binding is being deleted. + */ + Deleting: "Deleting", +} + +/** + * The provisioning state of the last accepted operation. + */ +@added(Versions.v2025_10_02_preview) +union JWTAuthenticatorProvisioningState { + string, + + /** + * Resource has been created. + */ + Succeeded: "Succeeded", + + /** + * Resource creation failed. + */ + Failed: "Failed", + + /** + * Resource creation was canceled. + */ + Canceled: "Canceled", + + /** + * The JWT authenticator is being created. + */ + Creating: "Creating", + + /** + * The JWT authenticator is being updated. + */ + Updating: "Updating", + + /** + * The JWT authenticator is being deleted. + */ + Deleting: "Deleting", +} + +/** + * The provisioning state of the last accepted operation. + */ +@added(Versions.v2025_10_02_preview) +union MeshMembershipProvisioningState { + string, + + /** + * Resource creation was canceled. + */ + Canceled: "Canceled", + + /** + * The Mesh Membership is being created. + */ + Creating: "Creating", + + /** + * The Mesh Membership is being deleted. + */ + Deleting: "Deleting", + + /** + * Resource creation failed. + */ + Failed: "Failed", + + /** + * Resource has been created. + */ + Succeeded: "Succeeded", + + /** + * The Mesh Membership is being updated. + */ + Updating: "Updating", +} + +/** + * The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +enum ResourceIdentityType { + /** + * Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources. + */ + SystemAssigned, + + /** + * Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources. + */ + UserAssigned, + + /** + * Do not use a managed identity for the Managed Cluster, service principal will be used instead. + */ + None, +} + +/** + * Describes the properties of a Operation value. + */ +model OperationValue { + /** + * The origin of the operation. + */ + @visibility(Lifecycle.Read) + origin?: string; + + /** + * The name of the operation. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Describes the properties of a Operation Value Display. + */ + display?: OperationValueDisplay; +} + +/** + * Describes the properties of a Operation Value Display. + */ +model OperationValueDisplay { + /** + * The display name of the operation. + */ + @visibility(Lifecycle.Read) + operation?: string; + + /** + * The display name of the resource the operation applies to. + */ + @visibility(Lifecycle.Read) + resource?: string; + + /** + * The description of the operation. + */ + @visibility(Lifecycle.Read) + description?: string; + + /** + * The resource provider for the operation. + */ + @visibility(Lifecycle.Read) + provider?: string; +} + +/** + * Hold values properties, which is array of KubernetesVersion + */ +model KubernetesVersionListResult { + /** + * Array of AKS supported Kubernetes versions. + */ + @identifiers(#[]) + values?: KubernetesVersion[]; +} + +/** + * Kubernetes version profile for given major.minor release. + */ +model KubernetesVersion { + /** + * major.minor version of Kubernetes release + */ + version?: string; + + /** + * Capabilities on this Kubernetes version. + */ + capabilities?: KubernetesVersionCapabilities; + + /** + * Whether this version is default. + */ + isDefault?: boolean; + + /** + * Whether this version is in preview mode. + */ + isPreview?: boolean; + + /** + * Patch versions of Kubernetes release + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + patchVersions?: Record; +} + +/** + * Capabilities on this Kubernetes version. + */ +model KubernetesVersionCapabilities { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + supportPlan?: KubernetesSupportPlan[]; +} + +/** + * Kubernetes patch version profile + */ +model KubernetesPatchVersion { + /** + * Possible upgrade path for given patch version + */ + upgrades?: string[]; +} + +/** + * Holds an array NodeImageVersions + */ +@added(Versions.v2025_10_02_preview) +model NodeImageVersionsListResult is Azure.Core.Page; + +/** + * node image version profile for given major.minor.patch release. + */ +@added(Versions.v2025_10_02_preview) +model NodeImageVersion { + /** + * The operating system of the node image. Example: AKSUbuntu + */ + os?: string; + + /** + * The SKU or flavor of the node image. Example: 2004gen2containerd + */ + sku?: string; + + /** + * major.minor.patch version of the node image version release. Example: 2024.02.02 + */ + version?: string; + + /** + * The OS + SKU + version of the node image. Example: AKSUbuntu-1804gen2containerd-2024.02.02 + */ + fullName?: string; +} + +/** + * The SKU of a Managed Cluster. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterSKU { + /** + * The name of a managed cluster SKU. + */ + name?: ManagedClusterSKUName; + + /** + * The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + */ + tier?: ManagedClusterSKUTier; +} + +/** + * The complex type of the extended location. + */ +model ExtendedLocation { + /** + * The name of the extended location. + */ + name?: string; + + /** + * The type of the extended location. + */ + type?: ExtendedLocationTypes; +} + +/** + * Identity for the managed cluster. + */ +model ManagedClusterIdentity { + /** + * The principal id of the system assigned identity which is used by master components. + */ + @visibility(Lifecycle.Read) + principalId?: string; + + /** + * The tenant id of the system assigned identity which is used by master components. + */ + @visibility(Lifecycle.Read) + tenantId?: string; + + /** + * The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + */ + type?: ResourceIdentityType; + + /** + * The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + delegatedResources?: Record; + + /** + * The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + userAssignedIdentities?: Record; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedServiceIdentityUserAssignedIdentitiesValue { + /** + * The principal id of user assigned identity. + */ + @visibility(Lifecycle.Read) + principalId?: string; + + /** + * The client id of user assigned identity. + */ + @visibility(Lifecycle.Read) + clientId?: string; +} + +/** + * Properties of the managed cluster. + */ +model ManagedClusterProperties { + /** + * The current provisioning state. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + provisioningState?: string; + + /** + * The Power State of the cluster. + */ + @visibility(Lifecycle.Read) + powerState?: PowerState; + + /** + * CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a snapshot. + */ + @added(Versions.v2025_10_02_preview) + creationData?: CreationData; + + /** + * The max number of agent pools for the managed cluster. + */ + @visibility(Lifecycle.Read) + maxAgentPools?: int32; + + /** + * The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + */ + kubernetesVersion?: string; + + /** + * The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used. + */ + @visibility(Lifecycle.Read) + currentKubernetesVersion?: string; + + /** + * The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created. + */ + dnsPrefix?: string; + + /** + * The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. + */ + fqdnSubdomain?: string; + + /** + * The FQDN of the master pool. + */ + @visibility(Lifecycle.Read) + fqdn?: string; + + /** + * The FQDN of private cluster. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + privateFQDN?: string; + + /** + * The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + azurePortalFQDN?: string; + + /** + * The agent pool properties. + */ + @identifiers(#[]) + agentPoolProfiles?: ManagedClusterAgentPoolProfile[]; + + /** + * The profile for Linux VMs in the Managed Cluster. + */ + linuxProfile?: ContainerServiceLinuxProfile; + + /** + * The profile for Windows VMs in the Managed Cluster. + */ + windowsProfile?: ManagedClusterWindowsProfile; + + /** + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + */ + servicePrincipalProfile?: ManagedClusterServicePrincipalProfile; + + /** + * The profile of managed cluster add-on. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + addonProfiles?: Record; + + /** + * The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration. + */ + podIdentityProfile?: ManagedClusterPodIdentityProfile; + + /** + * The OIDC issuer profile of the Managed Cluster. + */ + oidcIssuerProfile?: ManagedClusterOIDCIssuerProfile; + + /** + * The name of the resource group containing agent pool nodes. + */ + nodeResourceGroup?: string; + + /** + * Profile of the node resource group configuration. + */ + nodeResourceGroupProfile?: ManagedClusterNodeResourceGroupProfile; + + /** + * Whether to enable Kubernetes Role-Based Access Control. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableRBAC?: boolean; + + /** + * The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + */ + supportPlan?: KubernetesSupportPlan; + + /** + * 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. + */ + @added(Versions.v2025_10_02_preview) + enableNamespaceResources?: boolean; + + /** + * The network configuration profile. + */ + networkProfile?: ContainerServiceNetworkProfile; + + /** + * The Azure Active Directory configuration. + */ + aadProfile?: ManagedClusterAADProfile; + + /** + * The auto upgrade configuration. + */ + autoUpgradeProfile?: ManagedClusterAutoUpgradeProfile; + + /** + * Settings for upgrading a cluster. + */ + upgradeSettings?: ClusterUpgradeSettings; + + /** + * Parameters to be applied to the cluster-autoscaler when enabled + */ + autoScalerProfile?: ManagedClusterPropertiesAutoScalerProfile; + + /** + * The access profile for managed cluster API server. + */ + apiServerAccessProfile?: ManagedClusterAPIServerAccessProfile; + + /** + * The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + diskEncryptionSetID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Compute/diskEncryptionSets"; + } + ]>; + + /** + * The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + identityProfile?: Record; + + /** + * Private link resources associated with the cluster. + */ + privateLinkResources?: PrivateLinkResource[]; + + /** + * If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + */ + disableLocalAccounts?: boolean; + + /** + * Configurations for provisioning the cluster with HTTP proxy servers. + */ + httpProxyConfig?: ManagedClusterHTTPProxyConfig; + + /** + * Security profile for the managed cluster. + */ + securityProfile?: ManagedClusterSecurityProfile; + + /** + * Storage profile for the managed cluster. + */ + storageProfile?: ManagedClusterStorageProfile; + + /** + * Ingress profile for the managed cluster. + */ + ingressProfile?: ManagedClusterIngressProfile; + + /** + * PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS + */ + publicNetworkAccess?: PublicNetworkAccess; + + /** + * Workload Auto-scaler profile for the managed cluster. + */ + workloadAutoScalerProfile?: ManagedClusterWorkloadAutoScalerProfile; + + /** + * Azure Monitor addon profiles for monitoring the managed cluster. + */ + azureMonitorProfile?: ManagedClusterAzureMonitorProfile; + + /** + * Service mesh profile for a managed cluster. + */ + serviceMeshProfile?: ServiceMeshProfile; + + /** + * The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence) + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + resourceUID?: string; + + /** + * Optional cluster metrics configuration. + */ + metricsProfile?: ManagedClusterMetricsProfile; + + /** + * Node provisioning settings that apply to the whole cluster. + */ + nodeProvisioningProfile?: ManagedClusterNodeProvisioningProfile; + + /** + * Profile of the cluster bootstrap configuration. + */ + bootstrapProfile?: ManagedClusterBootstrapProfile; + + /** + * AI toolchain operator settings that apply to the whole cluster. + */ + aiToolchainOperatorProfile?: ManagedClusterAIToolchainOperatorProfile; + + /** + * Profile of the pod scheduler configuration. + */ + @added(Versions.v2025_10_02_preview) + schedulerProfile?: SchedulerProfile; + + /** + * Settings for hosted system addons. For more information, see https://aka.ms/aks/automatic/systemcomponents. + */ + @added(Versions.v2025_10_02_preview) + hostedSystemProfile?: ManagedClusterHostedSystemProfile; + + /** + * Contains read-only information about the Managed Cluster. + */ + status?: ManagedClusterStatus; +} + +/** + * Describes the Power State of the cluster + */ +model PowerState { + /** + * Tells whether the cluster is Running or Stopped + */ + code?: Code; +} + +/** + * Profile for the container service agent pool. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterAgentPoolProfile + extends ManagedClusterAgentPoolProfileProperties { + /** + * Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less. + */ + @pattern("^[a-z][a-z0-9]{0,11}$") + name: string; +} + +/** + * Properties for the container service agent pool profile. + */ +model ManagedClusterAgentPoolProfileProperties { + /** + * Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention. + */ + @visibility(Lifecycle.Read) + eTag?: string; + + /** + * Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + */ + count?: int32; + + /** + * The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + vmSize?: string; + + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @maxValue(2048) + @minValue(0) + osDiskSizeGB?: int32; + + /** + * The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ + osDiskType?: OSDiskType; + + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + kubeletDiskType?: KubeletDiskType; + + /** + * Determines the type of workload a node can run. + */ + workloadRuntime?: WorkloadRuntime; + + /** + * Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). + */ + messageOfTheDay?: string; + + /** + * The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + vnetSubnetID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/virtualNetworks/subnets"; + } + ]>; + + /** + * The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + podSubnetID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/virtualNetworks/subnets"; + } + ]>; + + /** + * Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + podIPAllocationMode?: PodIPAllocationMode; + + /** + * The maximum number of pods that can run on a node. + */ + maxPods?: int32; + + /** + * The operating system type. The default is Linux. + */ + osType?: OSType = OSType.Linux; + + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + osSKU?: OSSKU; + + /** + * The maximum number of nodes for auto-scaling + */ + maxCount?: int32; + + /** + * The minimum number of nodes for auto-scaling + */ + minCount?: int32; + + /** + * Whether to enable auto-scaler + */ + enableAutoScaling?: boolean; + + /** + * The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + */ + scaleDownMode?: ScaleDownMode; + + /** + * The type of Agent Pool. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + type?: AgentPoolType; + + /** + * The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + */ + mode?: AgentPoolMode; + + /** + * The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + */ + orchestratorVersion?: string; + + /** + * The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used. + */ + @visibility(Lifecycle.Read) + currentOrchestratorVersion?: string; + + /** + * The version of node image + */ + @visibility(Lifecycle.Read) + nodeImageVersion?: string; + + /** + * Defines the upgrade strategy for the agent pool. The default is Rolling. + */ + @added(Versions.v2025_10_02_preview) + upgradeStrategy?: UpgradeStrategy; + + /** + * Settings for upgrading the agentpool + */ + upgradeSettings?: AgentPoolUpgradeSettings; + + /** + * Settings for Blue-Green upgrade on the agentpool. Applies when upgrade strategy is set to BlueGreen. + */ + @added(Versions.v2025_10_02_preview) + upgradeSettingsBlueGreen?: AgentPoolBlueGreenUpgradeSettings; + + /** + * The current deployment or provisioning state. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + provisioningState?: string; + + /** + * Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded + */ + powerState?: PowerState; + + /** + * The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + */ + availabilityZones?: string[]; + + /** + * Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableNodePublicIP?: boolean; + + /** + * The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + nodePublicIPPrefixID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/publicIPPrefixes"; + } + ]>; + + /** + * The Virtual Machine Scale Set priority. + */ + scaleSetPriority?: ScaleSetPriority = ScaleSetPriority.Regular; + + /** + * The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) + */ + scaleSetEvictionPolicy?: ScaleSetEvictionPolicy = ScaleSetEvictionPolicy.Delete; + + /** + * The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + */ + spotMaxPrice?: float32 = -1; + + /** + * The tags to be persisted on the agent pool virtual machine scale set. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; + + /** + * The node labels to be persisted across all nodes in agent pool. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + nodeLabels?: Record; + + /** + * The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + */ + nodeTaints?: string[]; + + /** + * 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-` + */ + @added(Versions.v2025_10_02_preview) + nodeInitializationTaints?: string[]; + + /** + * The ID for Proximity Placement Group. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + proximityPlacementGroupID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Compute/proximityPlacementGroups"; + } + ]>; + + /** + * The Kubelet configuration on the agent pool nodes. + */ + kubeletConfig?: KubeletConfig; + + /** + * The OS configuration of Linux agent nodes. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + linuxOSConfig?: LinuxOSConfig; + + /** + * Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + enableEncryptionAtHost?: boolean; + + /** + * Whether to enable UltraSSD + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableUltraSSD?: boolean; + + /** + * Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableFIPS?: boolean; + + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + gpuInstanceProfile?: GPUInstanceProfile; + + /** + * CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot. + */ + creationData?: CreationData; + + /** + * The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview) + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + capacityReservationGroupID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Compute/CapacityReservationGroups"; + } + ]>; + + /** + * The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + hostGroupID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Compute/hostGroups"; + } + ]>; + + /** + * Network-related settings of an agent pool. + */ + networkProfile?: AgentPoolNetworkProfile; + + /** + * The Windows agent pool's specific profile. + */ + windowsProfile?: AgentPoolWindowsProfile; + + /** + * The security settings of an agent pool. + */ + securityProfile?: AgentPoolSecurityProfile; + + /** + * GPU settings for the Agent Pool. + */ + gpuProfile?: GPUProfile; + + /** + * Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway. + */ + gatewayProfile?: AgentPoolGatewayProfile; + + /** + * Configuration for using artifact streaming on AKS. + */ + @added(Versions.v2025_10_02_preview) + artifactStreamingProfile?: AgentPoolArtifactStreamingProfile; + + /** + * Specifications on VirtualMachines agent pool. + */ + virtualMachinesProfile?: VirtualMachinesProfile; + + /** + * The status of nodes in a VirtualMachines agent pool. + */ + @identifiers(#[]) + virtualMachineNodesStatus?: VirtualMachineNodes[]; + + /** + * Contains read-only information about the Agent Pool. + */ + status?: AgentPoolStatus; + + /** + * Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + localDNSProfile?: LocalDNSProfile; + + /** + * Settings to determine the node customization used to provision nodes in a pool. + */ + @added(Versions.v2025_10_02_preview) + nodeCustomizationProfile?: NodeCustomizationProfile; +} + +/** + * Settings for upgrading an agentpool + */ +model AgentPoolUpgradeSettings { + /** + * The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster + */ + maxSurge?: string; + + /** + * The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster + */ + maxUnavailable?: string; + + /** + * The maximum number or percentage of extra nodes that are allowed to be blocked in the agent pool during an upgrade when undrainable node behavior is Cordon. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is maxSurge. This must always be greater than or equal to maxSurge. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster + */ + @added(Versions.v2025_10_02_preview) + maxBlockedNodes?: string; + + /** + * The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + */ + @maxValue(1440) + @minValue(1) + drainTimeoutInMinutes?: int32; + + /** + * The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes. + */ + @maxValue(30) + @minValue(0) + nodeSoakDurationInMinutes?: int32; + + /** + * Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. + */ + undrainableNodeBehavior?: UndrainableNodeBehavior; +} + +/** + * Settings for blue-green upgrade on an agentpool + */ +@added(Versions.v2025_10_02_preview) +model AgentPoolBlueGreenUpgradeSettings { + /** + * The number or percentage of nodes to drain in batch during blue-green upgrade. Must be a non-zero number. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total number of blue nodes of the initial upgrade operation. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster + */ + drainBatchSize?: string; + + /** + * The drain timeout for a node, i.e., the amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. + */ + @maxValue(1440) + @minValue(1) + drainTimeoutInMinutes?: int32; + + /** + * The soak duration after draining a batch of nodes, i.e., the amount of time (in minutes) to wait after draining a batch of nodes before moving on the next batch. If not specified, the default is 15 minutes. + */ + @maxValue(1440) + @minValue(0) + batchSoakDurationInMinutes?: int32; + + /** + * The soak duration for a node pool, i.e., the amount of time (in minutes) to wait after all old nodes are drained before we remove the old nodes. If not specified, the default is 60 minutes. Only applicable for blue-green upgrade strategy. + */ + @maxValue(10080) + @minValue(0) + finalSoakDurationInMinutes?: int32; +} + +/** + * Kubelet configurations of agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + */ +model KubeletConfig { + /** + * The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'. + */ + cpuManagerPolicy?: string; + + /** + * If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true. + */ + cpuCfsQuota?: boolean; + + /** + * The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + */ + cpuCfsQuotaPeriod?: string; + + /** + * The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85% + */ + imageGcHighThreshold?: int32; + + /** + * The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80% + */ + imageGcLowThreshold?: int32; + + /** + * The Topology Manager policy to use. For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + */ + topologyManagerPolicy?: string; + + /** + * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + */ + allowedUnsafeSysctls?: string[]; + + /** + * If set to true it will make the Kubelet fail to start if swap is enabled on the node. + */ + failSwapOn?: boolean; + + /** + * The maximum size (e.g. 10Mi) of container log file before it is rotated. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + containerLogMaxSizeMB?: int32; + + /** + * The maximum number of container log files that can be present for a container. The number must be ≥ 2. + */ + @minValue(2) + containerLogMaxFiles?: int32; + + /** + * The maximum number of processes per pod. + */ + podMaxPids?: int32; + + /** + * Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' will be used by default. + */ + @added(Versions.v2025_10_02_preview) + seccompDefault?: SeccompDefault; +} + +/** + * OS configurations of Linux agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + */ +model LinuxOSConfig { + /** + * Sysctl settings for Linux agent nodes. + */ + sysctls?: SysctlConfig; + + /** + * Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageEnabled?: string; + + /** + * Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + */ + transparentHugePageDefrag?: string; + + /** + * The size in MB of a swap file that will be created on each node. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + swapFileSizeMB?: int32; +} + +/** + * Sysctl settings for Linux agent nodes. + */ +model SysctlConfig { + /** + * Sysctl setting net.core.somaxconn. + */ + netCoreSomaxconn?: int32; + + /** + * Sysctl setting net.core.netdev_max_backlog. + */ + netCoreNetdevMaxBacklog?: int32; + + /** + * Sysctl setting net.core.rmem_default. + */ + netCoreRmemDefault?: int32; + + /** + * Sysctl setting net.core.rmem_max. + */ + netCoreRmemMax?: int32; + + /** + * Sysctl setting net.core.wmem_default. + */ + netCoreWmemDefault?: int32; + + /** + * Sysctl setting net.core.wmem_max. + */ + netCoreWmemMax?: int32; + + /** + * Sysctl setting net.core.optmem_max. + */ + netCoreOptmemMax?: int32; + + /** + * Sysctl setting net.ipv4.tcp_max_syn_backlog. + */ + netIpv4TcpMaxSynBacklog?: int32; + + /** + * Sysctl setting net.ipv4.tcp_max_tw_buckets. + */ + netIpv4TcpMaxTwBuckets?: int32; + + /** + * Sysctl setting net.ipv4.tcp_fin_timeout. + */ + netIpv4TcpFinTimeout?: int32; + + /** + * Sysctl setting net.ipv4.tcp_keepalive_time. + */ + netIpv4TcpKeepaliveTime?: int32; + + /** + * Sysctl setting net.ipv4.tcp_keepalive_probes. + */ + netIpv4TcpKeepaliveProbes?: int32; + + /** + * Sysctl setting net.ipv4.tcp_keepalive_intvl. + */ + @maxValue(90) + @minValue(10) + netIpv4TcpkeepaliveIntvl?: int32; + + /** + * Sysctl setting net.ipv4.tcp_tw_reuse. + */ + netIpv4TcpTwReuse?: boolean; + + /** + * Sysctl setting net.ipv4.ip_local_port_range. + */ + netIpv4IpLocalPortRange?: string; + + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh1. + */ + netIpv4NeighDefaultGcThresh1?: int32; + + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh2. + */ + netIpv4NeighDefaultGcThresh2?: int32; + + /** + * Sysctl setting net.ipv4.neigh.default.gc_thresh3. + */ + netIpv4NeighDefaultGcThresh3?: int32; + + /** + * Sysctl setting net.netfilter.nf_conntrack_max. + */ + @maxValue(2097152) + @minValue(131072) + netNetfilterNfConntrackMax?: int32; + + /** + * Sysctl setting net.netfilter.nf_conntrack_buckets. + */ + @maxValue(524288) + @minValue(65536) + netNetfilterNfConntrackBuckets?: int32; + + /** + * Sysctl setting fs.inotify.max_user_watches. + */ + fsInotifyMaxUserWatches?: int32; + + /** + * Sysctl setting fs.file-max. + */ + fsFileMax?: int32; + + /** + * Sysctl setting fs.aio-max-nr. + */ + fsAioMaxNr?: int32; + + /** + * Sysctl setting fs.nr_open. + */ + fsNrOpen?: int32; + + /** + * Sysctl setting kernel.threads-max. + */ + kernelThreadsMax?: int32; + + /** + * Sysctl setting vm.max_map_count. + */ + vmMaxMapCount?: int32; + + /** + * Sysctl setting vm.swappiness. + */ + vmSwappiness?: int32; + + /** + * Sysctl setting vm.vfs_cache_pressure. + */ + vmVfsCachePressure?: int32; +} + +/** + * Data used when creating a target resource from a source resource. + */ +model CreationData { + /** + * This is the ARM ID of the source object to be used to create the target object. + */ + sourceResourceId?: Azure.Core.armResourceIdentifier; +} + +/** + * Network settings of an agent pool. + */ +model AgentPoolNetworkProfile { + /** + * IPTags of instance-level public IPs. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @identifiers(#[]) + nodePublicIPTags?: IPTag[]; + + /** + * The port ranges that are allowed to access. The specified ranges are allowed to overlap. + */ + @identifiers(#[]) + allowedHostPorts?: PortRange[]; + + /** + * The IDs of the application security groups which agent pool will associate when created. + */ + applicationSecurityGroups?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/applicationSecurityGroups"; + } + ]>[]; +} + +/** + * Contains the IPTag associated with the object. + */ +model IPTag { + /** + * The IP tag type. Example: RoutingPreference. + */ + ipTagType?: string; + + /** + * The value of the IP tag associated with the public IP. Example: Internet. + */ + tag?: string; +} + +/** + * The port range. + */ +model PortRange { + /** + * The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. + */ + @maxValue(65535) + @minValue(1) + portStart?: int32; + + /** + * The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. + */ + @maxValue(65535) + @minValue(1) + portEnd?: int32; + + /** + * The network protocol of the port. + */ + protocol?: Protocol; +} + +/** + * The Windows agent pool's specific profile. + */ +model AgentPoolWindowsProfile { + /** + * Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled. + */ + disableOutboundNat?: boolean; +} + +/** + * The security settings of an agent pool. + */ +model AgentPoolSecurityProfile { + /** + * vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableVTPM?: boolean; + + /** + * Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + */ + enableSecureBoot?: boolean; + + /** + * SSH access method of an agent pool. + */ + sshAccess?: AgentPoolSSHAccess; +} + +/** + * The security settings of the machine. + */ +@added(Versions.v2025_10_02_preview) +model MachineSecurityProfile { + /** + * vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableVTPM?: boolean; + + /** + * Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + */ + enableSecureBoot?: boolean; + + /** + * SSH access method of an agent pool. + */ + sshAccess?: AgentPoolSSHAccess; + + /** + * Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption + */ + enableEncryptionAtHost?: boolean; +} + +/** + * GPU settings for the Agent Pool. + */ +model GPUProfile { + /** + * Whether to install GPU drivers. When it's not specified, default is Install. + */ + driver?: GPUDriver; + + /** + * Specify the type of GPU driver to install when creating Windows agent pools. If not provided, AKS selects the driver based on system compatibility. This cannot be changed once the AgentPool has been created. This cannot be set on Linux AgentPools. For Linux AgentPools, the driver is selected based on system compatibility. + */ + @added(Versions.v2025_10_02_preview) + driverType?: DriverType; +} + +/** + * Profile of the managed cluster gateway agent pool. + */ +model AgentPoolGatewayProfile { + /** + * The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @maxValue(31) + @minValue(28) + publicIPPrefixSize?: int32 = 31; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model AgentPoolArtifactStreamingProfile { + /** + * Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + */ + enabled?: boolean; +} + +/** + * Specifications on VirtualMachines agent pool. + */ +model VirtualMachinesProfile { + /** + * Specifications on how to scale a VirtualMachines agent pool. + */ + scale?: ScaleProfile; +} + +/** + * Specifications on how to scale a VirtualMachines agent pool. + */ +model ScaleProfile { + /** + * Specifications on how to scale the VirtualMachines agent pool to a fixed size. + */ + @identifiers(#[]) + manual?: ManualScaleProfile[]; + + /** + * Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. + */ + @added(Versions.v2025_10_02_preview) + autoscale?: AutoScaleProfile; +} + +/** + * Specifications on number of machines. + */ +model ManualScaleProfile { + /** + * VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'. + */ + size?: string; + + /** + * Number of nodes. + */ + count?: int32; +} + +/** + * Specifications on auto-scaling. + */ +@added(Versions.v2025_10_02_preview) +model AutoScaleProfile { + /** + * VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'. + */ + size?: string; + + /** + * The minimum number of nodes of the specified sizes. + */ + minCount?: int32; + + /** + * The maximum number of nodes of the specified sizes. + */ + maxCount?: int32; +} + +/** + * Current status on a group of nodes of the same vm size. + */ +model VirtualMachineNodes { + /** + * The VM size of the agents used to host this group of nodes. + */ + size?: string; + + /** + * Number of nodes. + */ + count?: int32; +} + +/** + * Contains read-only information about the Agent Pool. + */ +model AgentPoolStatus { + /** + * The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted. + */ + @visibility(Lifecycle.Read) + provisioningError?: Azure.ResourceManager.CommonTypes.ErrorDetail; +} + +/** + * Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model LocalDNSProfile { + /** + * Mode of enablement for localDNS. + */ + mode?: LocalDNSMode = LocalDNSMode.Preferred; + + /** + * System-generated state of localDNS. + */ + @visibility(Lifecycle.Read) + state?: LocalDNSState; + + /** + * VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic). + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + vnetDNSOverrides?: Record; + + /** + * KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic). + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + kubeDNSOverrides?: Record; +} + +/** + * Overrides for localDNS profile. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model LocalDNSOverride { + /** + * Log level for DNS queries in localDNS. + */ + queryLogging?: LocalDNSQueryLogging = LocalDNSQueryLogging.Error; + + /** + * Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server. + */ + protocol?: LocalDNSProtocol = LocalDNSProtocol.PreferUDP; + + /** + * Destination server for DNS queries to be forwarded from localDNS. + */ + forwardDestination?: LocalDNSForwardDestination = LocalDNSForwardDestination.ClusterCoreDNS; + + /** + * Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information. + */ + forwardPolicy?: LocalDNSForwardPolicy = LocalDNSForwardPolicy.Sequential; + + /** + * Maximum number of concurrent queries. See [forward plugin](https://coredns.io/plugins/forward) for more information. + */ + maxConcurrent?: int32 = 1000; + + /** + * Cache max TTL in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information. + */ + cacheDurationInSeconds?: int32 = 3600; + + /** + * Serve stale duration in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information. + */ + serveStaleDurationInSeconds?: int32 = 3600; + + /** + * Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information. + */ + serveStale?: LocalDNSServeStale = LocalDNSServeStale.Immediate; +} + +/** + * Settings to determine the node customization used to provision nodes in a pool. + */ +@added(Versions.v2025_10_02_preview) +model NodeCustomizationProfile { + /** + * The resource ID of the node customization resource to use. This can be a version. Omitting the version will use the latest version of the node customization. + */ + nodeCustomizationId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.ContainerService/nodeCustomizations"; + } + ]>; +} + +/** + * Profile for Linux VMs in the container service cluster. + */ +model ContainerServiceLinuxProfile { + /** + * The administrator username to use for Linux VMs. + */ + @pattern("^[A-Za-z][-A-Za-z0-9_]*$") + adminUsername: string; + + /** + * The SSH configuration for Linux-based VMs running on Azure. + */ + ssh: ContainerServiceSshConfiguration; +} + +/** + * SSH configuration for Linux-based VMs running on Azure. + */ +model ContainerServiceSshConfiguration { + /** + * The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + */ + @identifiers(#[]) + publicKeys: ContainerServiceSshPublicKey[]; +} + +/** + * Contains information about SSH certificate public key data. + */ +model ContainerServiceSshPublicKey { + /** + * Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + */ + keyData: string; +} + +/** + * Profile for Windows VMs in the managed cluster. + */ +model ManagedClusterWindowsProfile { + /** + * Specifies the name of the administrator account.

**Restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length:** 1 character

**Max-length:** 20 characters + */ + adminUsername: string; + + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @doc("Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"") + adminPassword?: string; + + /** + * The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + */ + licenseType?: LicenseType; + + /** + * Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy). + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableCSIProxy?: boolean; + + /** + * The Windows gMSA Profile in the Managed Cluster. + */ + gmsaProfile?: WindowsGmsaProfile; +} + +/** + * Windows gMSA Profile in the managed cluster. + */ +model WindowsGmsaProfile { + /** + * Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster. + */ + enabled?: boolean; + + /** + * Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + dnsServer?: string; + + /** + * Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + */ + rootDomainName?: string; +} + +/** + * Information about a service principal identity for the cluster to use for manipulating Azure APIs. + */ +model ManagedClusterServicePrincipalProfile { + /** + * The ID for the service principal. + */ + clientId: string; + + /** + * The secret password associated with the service principal in plain text. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + secret?: string; +} + +/** + * A Kubernetes add-on profile for a managed cluster. + */ +model ManagedClusterAddonProfile { + /** + * Whether the add-on is enabled or not. + */ + enabled: boolean; + + /** + * Key-value pairs for configuring an add-on. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + config?: Record; + + /** + * Information of user assigned identity used by this add-on. + */ + @visibility(Lifecycle.Read) + identity?: ManagedClusterAddonProfileIdentity; +} + +/** + * Information of user assigned identity used by this add-on. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterAddonProfileIdentity extends UserAssignedIdentity {} + +/** + * Details about a user assigned identity. + */ +model UserAssignedIdentity { + /** + * The resource ID of the user assigned identity. + */ + resourceId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.ManagedIdentity/userAssignedIdentities"; + } + ]>; + + /** + * The client ID of the user assigned identity. + */ + clientId?: string; + + /** + * The object ID of the user assigned identity. + */ + objectId?: string; +} + +/** + * The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration. + */ +model ManagedClusterPodIdentityProfile { + /** + * Whether the pod identity addon is enabled. + */ + enabled?: boolean; + + /** + * Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information. + */ + allowNetworkPluginKubenet?: boolean; + + /** + * The pod identities to use in the cluster. + */ + @identifiers(#[]) + userAssignedIdentities?: ManagedClusterPodIdentity[]; + + /** + * The pod identity exceptions to allow. + */ + @identifiers(#[]) + userAssignedIdentityExceptions?: ManagedClusterPodIdentityException[]; +} + +/** + * Details about the pod identity assigned to the Managed Cluster. + */ +model ManagedClusterPodIdentity { + /** + * The name of the pod identity. + */ + name: string; + + /** + * The namespace of the pod identity. + */ + `namespace`: string; + + /** + * The binding selector to use for the AzureIdentityBinding resource. + */ + bindingSelector?: string; + + /** + * The user assigned identity details. + */ + identity: UserAssignedIdentity; + + /** + * The current provisioning state of the pod identity. + */ + @visibility(Lifecycle.Read) + provisioningState?: ManagedClusterPodIdentityProvisioningState; + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + provisioningInfo?: ManagedClusterPodIdentityProvisioningInfo; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterPodIdentityProvisioningInfo { + /** + * Pod identity assignment error (if any). + */ + error?: ManagedClusterPodIdentityProvisioningError; +} + +/** + * An error response from the pod identity provisioning. + */ +model ManagedClusterPodIdentityProvisioningError { + /** + * Details about the error. + */ + error?: ManagedClusterPodIdentityProvisioningErrorBody; +} + +/** + * An error response from the pod identity provisioning. + */ +model ManagedClusterPodIdentityProvisioningErrorBody { + /** + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + */ + code?: string; + + /** + * A message describing the error, intended to be suitable for display in a user interface. + */ + message?: string; + + /** + * The target of the particular error. For example, the name of the property in error. + */ + target?: string; + + /** + * A list of additional details about the error. + */ + @identifiers(#[]) + details?: ManagedClusterPodIdentityProvisioningErrorBody[]; +} + +/** + * A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + */ +model ManagedClusterPodIdentityException { + /** + * The name of the pod identity exception. + */ + name: string; + + /** + * The namespace of the pod identity exception. + */ + `namespace`: string; + + /** + * The pod labels to match. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + podLabels: Record; +} + +/** + * The OIDC issuer profile of the Managed Cluster. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterOIDCIssuerProfile { + /** + * The OIDC issuer url of the Managed Cluster. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + issuerURL?: string; + + /** + * Whether the OIDC issuer is enabled. + */ + enabled?: boolean; +} + +/** + * Node resource group lockdown profile for a managed cluster. + */ +model ManagedClusterNodeResourceGroupProfile { + /** + * The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' + */ + restrictionLevel?: RestrictionLevel; +} + +/** + * Profile of network configuration. + */ +model ContainerServiceNetworkProfile { + /** + * Network plugin used for building the Kubernetes network. + */ + networkPlugin?: NetworkPlugin; + + /** + * The mode the network plugin should use. + */ + networkPluginMode?: NetworkPluginMode; + + /** + * Network policy used for building the Kubernetes network. + */ + networkPolicy?: NetworkPolicy; + + /** + * The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'. + */ + networkMode?: NetworkMode; + + /** + * Network dataplane used in the Kubernetes cluster. + */ + networkDataplane?: NetworkDataplane; + + /** + * Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. + */ + advancedNetworking?: AdvancedNetworking; + + /** + * A CIDR notation IP range from which to assign pod IPs when kubenet is used. + */ + @pattern("^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$") + podCidr?: string = "10.244.0.0/16"; + + /** + * A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + */ + @pattern("^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$") + serviceCidr?: string = "10.0.0.0/16"; + + /** + * An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @pattern("^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$") + dnsServiceIP?: string = "10.0.0.10"; + + /** + * The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + */ + outboundType?: OutboundType = OutboundType.loadBalancer; + + /** + * The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs. + */ + loadBalancerSku?: LoadBalancerSku; + + /** + * Profile of the cluster load balancer. + */ + loadBalancerProfile?: ManagedClusterLoadBalancerProfile; + + /** + * Profile of the cluster NAT gateway. + */ + natGatewayProfile?: ManagedClusterNATGatewayProfile; + + /** + * The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway. + */ + staticEgressGatewayProfile?: ManagedClusterStaticEgressGatewayProfile; + + /** + * The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. + */ + podCidrs?: string[]; + + /** + * The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + */ + serviceCidrs?: string[]; + + /** + * The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + */ + ipFamilies?: IPFamily[]; + + /** + * Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods with hostNetwork=false. if not specified, the default is 'IMDS'. + */ + @added(Versions.v2025_10_02_preview) + podLinkLocalAccess?: PodLinkLocalAccess; + + /** + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + */ + @added(Versions.v2025_10_02_preview) + kubeProxyConfig?: ContainerServiceNetworkProfileKubeProxyConfig; +} + +/** + * Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking. + */ +model AdvancedNetworking { + /** + * Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false. + */ + enabled?: boolean; + + /** + * Observability profile to enable advanced network metrics and flow logs with historical contexts. + */ + observability?: AdvancedNetworkingObservability; + + /** + * Security profile to enable security features on cilium based cluster. + */ + security?: AdvancedNetworkingSecurity; + + /** + * Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. + */ + @added(Versions.v2025_10_02_preview) + performance?: AdvancedNetworkingPerformance; +} + +/** + * Observability profile to enable advanced network metrics and flow logs with historical contexts. + */ +model AdvancedNetworkingObservability { + /** + * Indicates the enablement of Advanced Networking observability functionalities on clusters. + */ + enabled?: boolean; +} + +/** + * Security profile to enable security features on cilium based cluster. + */ +model AdvancedNetworkingSecurity { + /** + * This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false. + */ + enabled?: boolean; + + /** + * Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true. + */ + advancedNetworkPolicies?: AdvancedNetworkPolicies; + + /** + * Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. + */ + @added(Versions.v2025_10_02_preview) + transitEncryption?: AdvancedNetworkingSecurityTransitEncryption; +} + +/** + * Profile of the managed cluster load balancer. + */ +model ManagedClusterLoadBalancerProfile { + /** + * Desired managed outbound IPs for the cluster load balancer. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + managedOutboundIPs?: ManagedClusterLoadBalancerProfileManagedOutboundIPs; + + /** + * Desired outbound IP Prefix resources for the cluster load balancer. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + outboundIPPrefixes?: ManagedClusterLoadBalancerProfileOutboundIPPrefixes; + + /** + * Desired outbound IP resources for the cluster load balancer. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + outboundIPs?: ManagedClusterLoadBalancerProfileOutboundIPs; + + /** + * The effective outbound IP resources of the cluster load balancer. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + effectiveOutboundIPs?: ResourceReference[]; + + /** + * The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + */ + @maxValue(64000) + @minValue(0) + allocatedOutboundPorts?: int32 = 0; + + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + */ + @maxValue(120) + @minValue(4) + idleTimeoutInMinutes?: int32 = 30; + + /** + * Enable multiple standard load balancers per AKS cluster or not. + */ + enableMultipleStandardLoadBalancers?: boolean; + + /** + * The type of the managed inbound Load Balancer BackendPool. + */ + backendPoolType?: BackendPoolType = BackendPoolType.NodeIPConfiguration; + + /** + * The health probing behavior for External Traffic Policy Cluster services. + */ + @added(Versions.v2025_10_02_preview) + clusterServiceLoadBalancerHealthProbeMode?: ClusterServiceLoadBalancerHealthProbeMode = ClusterServiceLoadBalancerHealthProbeMode.ServiceNodePort; +} + +/** + * Desired managed outbound IPs for the cluster load balancer. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterLoadBalancerProfileManagedOutboundIPs { + /** + * The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + */ + @maxValue(100) + @minValue(1) + count?: int32 = 1; + + /** + * The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @maxValue(100) + @minValue(0) + countIPv6?: int32 = 0; +} + +/** + * Desired outbound IP Prefix resources for the cluster load balancer. + */ +model ManagedClusterLoadBalancerProfileOutboundIPPrefixes { + /** + * A list of public IP prefix resources. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + publicIPPrefixes?: ResourceReference[]; +} + +/** + * A reference to an Azure resource. + */ +model ResourceReference { + /** + * The fully qualified Azure resource id. + */ + id?: Azure.Core.armResourceIdentifier; +} + +/** + * Desired outbound IP resources for the cluster load balancer. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterLoadBalancerProfileOutboundIPs { + /** + * A list of public IP resources. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + publicIPs?: ResourceReference[]; +} + +/** + * Profile of the managed cluster NAT gateway. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterNATGatewayProfile { + /** + * Profile of the managed outbound IP resources of the cluster NAT gateway. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + managedOutboundIPProfile?: ManagedClusterManagedOutboundIPProfile; + + /** + * The effective outbound IP resources of the cluster NAT gateway. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + effectiveOutboundIPs?: ResourceReference[]; + + /** + * Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + */ + @maxValue(120) + @minValue(4) + idleTimeoutInMinutes?: int32 = 4; +} + +/** + * Profile of the managed outbound IP resources of the managed cluster. + */ +model ManagedClusterManagedOutboundIPProfile { + /** + * The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. + */ + @maxValue(16) + @minValue(1) + count?: int32 = 1; +} + +/** + * The Static Egress Gateway addon configuration for the cluster. + */ +model ManagedClusterStaticEgressGatewayProfile { + /** + * Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not. + */ + enabled?: boolean; +} + +/** + * Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + */ +@added(Versions.v2025_10_02_preview) +model ContainerServiceNetworkProfileKubeProxyConfig { + /** + * Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations). + */ + enabled?: boolean; + + /** + * Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES') + */ + mode?: Mode; + + /** + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + */ + ipvsConfig?: ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig; +} + +/** + * Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + */ +@added(Versions.v2025_10_02_preview) +model ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig { + /** + * IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. + */ + scheduler?: IpvsScheduler; + + /** + * The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. + */ + tcpTimeoutSeconds?: int32; + + /** + * The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value. + */ + tcpFinTimeoutSeconds?: int32; + + /** + * The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. + */ + udpTimeoutSeconds?: int32; +} + +/** + * Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary. + */ +@added(Versions.v2025_10_02_preview) +model AdvancedNetworkingSecurityTransitEncryption { + /** + * Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None. + */ + type?: TransitEncryptionType; +} + +/** + * Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium. + */ +@added(Versions.v2025_10_02_preview) +model AdvancedNetworkingPerformance { + /** + * Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation + */ + accelerationMode?: AccelerationMode = AccelerationMode.None; +} + +/** + * AADProfile specifies attributes for Azure Active Directory integration. For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterAADProfile { + /** + * Whether to enable managed AAD. + */ + managed?: boolean; + + /** + * Whether to enable Azure RBAC for Kubernetes authorization. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableAzureRBAC?: boolean; + + /** + * The list of AAD group object IDs that will have admin role of the cluster. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + adminGroupObjectIDs?: string[]; + + /** + * (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + clientAppID?: string; + + /** + * (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + serverAppID?: string; + + /** + * (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + serverAppSecret?: string; + + /** + * The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tenantID?: string; +} + +/** + * Auto upgrade profile for a managed cluster. + */ +model ManagedClusterAutoUpgradeProfile { + /** + * The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + */ + upgradeChannel?: UpgradeChannel; + + /** + * Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + nodeOSUpgradeChannel?: NodeOSUpgradeChannel; +} + +/** + * Settings for upgrading a cluster. + */ +model ClusterUpgradeSettings { + /** + * Settings for overrides. + */ + overrideSettings?: UpgradeOverrideSettings; +} + +/** + * Settings for overrides when upgrading a cluster. + */ +model UpgradeOverrideSettings { + /** + * Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. + */ + forceUpgrade?: boolean; + + /** + * Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + until?: utcDateTime; +} + +/** + * Parameters to be applied to the cluster-autoscaler when enabled + */ +model ManagedClusterPropertiesAutoScalerProfile { + /** + * Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false' + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `balance-similar-node-groups`?: string; + + /** + * DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `daemonset-eviction-for-empty-nodes`?: boolean; + + /** + * DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `daemonset-eviction-for-occupied-nodes`?: boolean; + + /** + * Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `ignore-daemonsets-utilization`?: boolean; + + /** + * The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. + */ + expander?: Expander; + + /** + * The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `max-empty-bulk-delete`?: string; + + /** + * The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `max-graceful-termination-sec`?: string; + + /** + * The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `max-node-provision-time`?: string; + + /** + * The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `max-total-unready-percentage`?: string; + + /** + * Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `new-pod-scale-up-delay`?: string; + + /** + * The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `ok-total-unready-count`?: string; + + /** + * How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `scan-interval`?: string; + + /** + * How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `scale-down-delay-after-add`?: string; + + /** + * How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `scale-down-delay-after-delete`?: string; + + /** + * How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `scale-down-delay-after-failure`?: string; + + /** + * How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `scale-down-unneeded-time`?: string; + + /** + * How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `scale-down-unready-time`?: string; + + /** + * Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `scale-down-utilization-threshold`?: string; + + /** + * If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `skip-nodes-with-local-storage`?: string; + + /** + * If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + `skip-nodes-with-system-pods`?: string; +} + +/** + * Access profile for managed cluster API server. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterAPIServerAccessProfile { + /** + * The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + authorizedIPRanges?: string[]; + + /** + * Whether to create the cluster as a private cluster or not. For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters). + */ + enablePrivateCluster?: boolean; + + /** + * The private DNS zone mode for the cluster. The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + privateDNSZone?: string; + + /** + * Whether to create additional public FQDN for private cluster or not. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enablePrivateClusterPublicFQDN?: boolean; + + /** + * Whether to disable run command for the cluster or not. + */ + disableRunCommand?: boolean; + + /** + * Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details. + */ + enableVnetIntegration?: boolean; + + /** + * The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration. + */ + subnetId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/virtualNetworks/subnets"; + } + ]>; +} + +/** + * A private link resource + */ +model PrivateLinkResource { + /** + * The ID of the private link resource. + */ + id?: string; + + /** + * The name of the private link resource. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @OpenAPI.externalDocs("https://aka.ms/search-naming-rules") + name?: string; + + /** + * The resource type. + */ + type?: string; + + /** + * The group ID of the resource. + */ + groupId?: string; + + /** + * The RequiredMembers of the resource + */ + requiredMembers?: string[]; + + /** + * The private link service ID of the resource, this field is exposed only to NRP internally. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + privateLinkServiceID?: Azure.Core.armResourceIdentifier; +} + +/** + * Cluster HTTP proxy configuration. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterHTTPProxyConfig { + /** + * The HTTP proxy server endpoint to use. + */ + httpProxy?: string; + + /** + * The HTTPS proxy server endpoint to use. + */ + httpsProxy?: string; + + /** + * The endpoints that should not go through proxy. + */ + noProxy?: string[]; + + /** + * A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS. + */ + @added(Versions.v2025_10_02_preview) + @visibility(Lifecycle.Read) + effectiveNoProxy?: string[]; + + /** + * Alternative CA cert to use for connecting to proxy servers. + */ + trustedCa?: string; + + /** + * Whether to enable HTTP proxy. When disabled, the specified proxy configuration will be not be set on pods and nodes. + */ + @added(Versions.v2025_10_02_preview) + enabled?: boolean; +} + +/** + * Security profile for the container service cluster. + */ +model ManagedClusterSecurityProfile { + /** + * Microsoft Defender settings for the security profile. + */ + defender?: ManagedClusterSecurityProfileDefender; + + /** + * Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + */ + azureKeyVaultKms?: AzureKeyVaultKms; + + /** + * Encryption at rest of Kubernetes resource objects. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption + */ + @added(Versions.v2025_10_02_preview) + kubernetesResourceObjectEncryptionProfile?: KubernetesResourceObjectEncryptionProfile; + + /** + * Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + */ + workloadIdentity?: ManagedClusterSecurityProfileWorkloadIdentity; + + /** + * Image Cleaner settings for the security profile. + */ + imageCleaner?: ManagedClusterSecurityProfileImageCleaner; + + /** + * Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy. + */ + @added(Versions.v2025_10_02_preview) + imageIntegrity?: ManagedClusterSecurityProfileImageIntegrity; + + /** + * [Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile. + */ + @added(Versions.v2025_10_02_preview) + nodeRestriction?: ManagedClusterSecurityProfileNodeRestriction; + + /** + * A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority). + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @maxItems(10) + @minItems(0) + customCATrustCertificates?: bytes[]; +} + +/** + * Microsoft Defender settings for the security profile. + */ +model ManagedClusterSecurityProfileDefender { + /** + * Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. + */ + logAnalyticsWorkspaceResourceId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.OperationalInsights/workspaces"; + } + ]>; + + /** + * Microsoft Defender threat detection for Cloud settings for the security profile. + */ + securityMonitoring?: ManagedClusterSecurityProfileDefenderSecurityMonitoring; + + /** + * Microsoft Defender settings for security gating, validates container images eligibility for deployment based on Defender for Containers security findings. Using Admission Controller, it either audits or prevents the deployment of images that do not meet security standards. + */ + @added(Versions.v2025_10_02_preview) + securityGating?: ManagedClusterSecurityProfileDefenderSecurityGating; +} + +/** + * Microsoft Defender settings for the security profile threat detection. + */ +model ManagedClusterSecurityProfileDefenderSecurityMonitoring { + /** + * Whether to enable Defender threat detection + */ + enabled?: boolean; +} + +/** + * Microsoft Defender settings for security gating, validates container images eligibility for deployment based on Defender for Containers security findings. Using Admission Controller, it either audits or prevents the deployment of images that do not meet security standards. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterSecurityProfileDefenderSecurityGating { + /** + * Whether to enable Defender security gating. When enabled, the gating feature will scan container images and audit or block the deployment of images that do not meet security standards according to the configured security rules. + */ + enabled?: boolean; + + /** + * List of identities that the admission controller will make use of in order to pull security artifacts from the registry. These are the same identities used by the cluster to pull container images. Each identity provided should have federated identity credential attached to it. + */ + @identifiers(#[]) + identities?: ManagedClusterSecurityProfileDefenderSecurityGatingIdentitiesItem[]; + + /** + * In use only while registry access granted by secret rather than managed identity. Set whether to grant the Defender gating agent access to the cluster's secrets for pulling images from registries. If secret access is denied and the registry requires pull secrets, the add-on will not perform any image validation. Default value is false. + */ + allowSecretAccess?: boolean; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model ManagedClusterSecurityProfileDefenderSecurityGatingIdentitiesItem { + /** + * The container registry for which the identity will be used; the identity specified here should have a federated identity credential attached to it. + */ + azureContainerRegistry?: string; + + /** + * The identity object used to access the registry + */ + identity?: UserAssignedIdentity; +} + +/** + * Azure Key Vault key management service settings for the security profile. + */ +model AzureKeyVaultKms { + /** + * Whether to enable Azure Key Vault key management service. The default is false. + */ + enabled?: boolean; + + /** + * Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. + */ + keyId?: string; + + /** + * Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`. + */ + keyVaultNetworkAccess?: KeyVaultNetworkAccessTypes = KeyVaultNetworkAccessTypes.Public; + + /** + * Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + */ + keyVaultResourceId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.KeyVault/vaults"; + } + ]>; +} + +/** + * Encryption at rest of Kubernetes resource objects using service-managed keys. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption. + */ +@added(Versions.v2025_10_02_preview) +model KubernetesResourceObjectEncryptionProfile { + /** + * Whether to enable encryption at rest of Kubernetes resource objects using service-managed keys. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption. + */ + infrastructureEncryption?: InfrastructureEncryption = InfrastructureEncryption.Disabled; +} + +/** + * Workload identity settings for the security profile. + */ +model ManagedClusterSecurityProfileWorkloadIdentity { + /** + * Whether to enable workload identity. + */ + enabled?: boolean; +} + +/** + * Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile. + */ +model ManagedClusterSecurityProfileImageCleaner { + /** + * Whether to enable Image Cleaner on AKS cluster. + */ + enabled?: boolean; + + /** + * Image Cleaner scanning interval in hours. + */ + intervalHours?: int32; +} + +/** + * Image integrity related settings for the security profile. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterSecurityProfileImageIntegrity { + /** + * Whether to enable image integrity. The default value is false. + */ + enabled?: boolean; +} + +/** + * Node Restriction settings for the security profile. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterSecurityProfileNodeRestriction { + /** + * Whether to enable Node Restriction + */ + enabled?: boolean; +} + +/** + * Storage profile for the container service cluster. + */ +model ManagedClusterStorageProfile { + /** + * AzureDisk CSI Driver settings for the storage profile. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + diskCSIDriver?: ManagedClusterStorageProfileDiskCSIDriver; + + /** + * AzureFile CSI Driver settings for the storage profile. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + fileCSIDriver?: ManagedClusterStorageProfileFileCSIDriver; + + /** + * Snapshot Controller settings for the storage profile. + */ + snapshotController?: ManagedClusterStorageProfileSnapshotController; + + /** + * AzureBlob CSI Driver settings for the storage profile. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + blobCSIDriver?: ManagedClusterStorageProfileBlobCSIDriver; +} + +/** + * AzureDisk CSI Driver settings for the storage profile. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterStorageProfileDiskCSIDriver { + /** + * Whether to enable AzureDisk CSI Driver. The default value is true. + */ + enabled?: boolean; + + /** + * The version of AzureDisk CSI Driver. The default value is v1. + */ + @added(Versions.v2025_10_02_preview) + version?: string; +} + +/** + * AzureFile CSI Driver settings for the storage profile. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterStorageProfileFileCSIDriver { + /** + * Whether to enable AzureFile CSI Driver. The default value is true. + */ + enabled?: boolean; +} + +/** + * Snapshot Controller settings for the storage profile. + */ +model ManagedClusterStorageProfileSnapshotController { + /** + * Whether to enable Snapshot Controller. The default value is true. + */ + enabled?: boolean; +} + +/** + * AzureBlob CSI Driver settings for the storage profile. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterStorageProfileBlobCSIDriver { + /** + * Whether to enable AzureBlob CSI Driver. The default value is false. + */ + enabled?: boolean; +} + +/** + * Ingress profile for the container service cluster. + */ +model ManagedClusterIngressProfile { + /** + * App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + */ + webAppRouting?: ManagedClusterIngressProfileWebAppRouting; + + /** + * Settings for the managed Gateway API installation + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + gatewayAPI?: ManagedClusterIngressProfileGatewayConfiguration; + + /** + * Settings for the managed Application Load Balancer installation + */ + @added(Versions.v2025_10_02_preview) + applicationLoadBalancer?: ManagedClusterIngressProfileApplicationLoadBalancer; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model ManagedClusterIngressProfileGatewayConfiguration { + /** + * Configuration for the managed Gateway API installation. If not specified, the default is 'Disabled'. See https://aka.ms/k8s-gateway-api for more details. + */ + installation?: ManagedGatewayType; +} + +/** + * Application Routing add-on settings for the ingress profile. + */ +model ManagedClusterIngressProfileWebAppRouting { + /** + * Whether to enable the Application Routing add-on. + */ + enabled?: boolean; + + /** + * Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. + */ + @maxItems(5) + dnsZoneResourceIds?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/dnszones"; + }, + { + type: "Microsoft.Network/privateDnsZones"; + } + ]>[]; + + /** + * Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller. + */ + nginx?: ManagedClusterIngressProfileNginx; + + /** + * Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. + */ + @visibility(Lifecycle.Read) + identity?: UserAssignedIdentity; + + /** + * Configuration for the Default Domain. This is a unique, autogenerated domain that comes with a signed TLS Certificate allowing for secure HTTPS. See [the Default Domain documentation](https://aka.ms/aks/defaultdomain) for more instructions. + */ + @added(Versions.v2025_10_02_preview) + defaultDomain?: ManagedClusterIngressDefaultDomainProfile; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterIngressProfileNginx { + /** + * Ingress type for the default NginxIngressController custom resource + */ + defaultIngressControllerType?: NginxIngressControllerType; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model ManagedClusterIngressDefaultDomainProfile { + /** + * Whether to enable Default Domain. + */ + enabled?: boolean; + + /** + * The unique fully qualified domain name assigned to the cluster. This will not change even if disabled then reenabled. + */ + @visibility(Lifecycle.Read) + domainName?: string; +} + +/** + * Application Load Balancer settings for the ingress profile. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterIngressProfileApplicationLoadBalancer { + /** + * Whether to enable Application Load Balancer. + */ + enabled?: boolean; + + /** + * Managed identity of the Application Load Balancer add-on. This is the identity that should be granted permissions to manage the associated Application Gateway for Containers resource. + */ + @visibility(Lifecycle.Read) + identity?: UserAssignedIdentity; +} + +/** + * Workload Auto-scaler profile for the managed cluster. + */ +model ManagedClusterWorkloadAutoScalerProfile { + /** + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + */ + keda?: ManagedClusterWorkloadAutoScalerProfileKeda; + + /** + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + */ + verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler; +} + +/** + * KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + */ +model ManagedClusterWorkloadAutoScalerProfileKeda { + /** + * Whether to enable KEDA. + */ + enabled: boolean; +} + +/** + * VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + */ +model ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler { + /** + * Whether to enable VPA. Default value is false. + */ + enabled: boolean = false; + + /** + * Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. + */ + @added(Versions.v2025_10_02_preview) + addonAutoscaling?: AddonAutoscaling = AddonAutoscaling.Disabled; +} + +/** + * Azure Monitor addon profiles for monitoring the managed cluster. + */ +model ManagedClusterAzureMonitorProfile { + /** + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + */ + metrics?: ManagedClusterAzureMonitorProfileMetrics; + + /** + * Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + */ + @added(Versions.v2025_10_02_preview) + containerInsights?: ManagedClusterAzureMonitorProfileContainerInsights; + + /** + * Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + */ + @added(Versions.v2025_10_02_preview) + appMonitoring?: ManagedClusterAzureMonitorProfileAppMonitoring; +} + +/** + * Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. + */ +model ManagedClusterAzureMonitorProfileMetrics { + /** + * Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + */ + enabled: boolean; + + /** + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + */ + kubeStateMetrics?: ManagedClusterAzureMonitorProfileKubeStateMetrics; +} + +/** + * Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details. + */ +model ManagedClusterAzureMonitorProfileKubeStateMetrics { + /** + * Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. + */ + metricLabelsAllowlist?: string; + + /** + * Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. + */ + metricAnnotationsAllowList?: string; +} + +/** + * Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterAzureMonitorProfileContainerInsights { + /** + * Indicates if Azure Monitor Container Insights Logs Addon is enabled or not. + */ + enabled?: boolean; + + /** + * Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure Monitor Container Insights Logs. + */ + logAnalyticsWorkspaceResourceId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.OperationalInsights/workspaces"; + } + ]>; + + /** + * The syslog host port. If not specified, the default port is 28330. + */ + syslogPort?: int64; + + /** + * Indicates whether custom metrics collection has to be disabled or not. If not specified the default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is false + */ + disableCustomMetrics?: boolean; + + /** + * Indicates whether prometheus metrics scraping is disabled or not. If not specified the default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field is false + */ + disablePrometheusMetricsScraping?: boolean; +} + +/** + * Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterAzureMonitorProfileAppMonitoring { + /** + * Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + */ + autoInstrumentation?: ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation; + + /** + * Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + */ + openTelemetryMetrics?: ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics; + + /** + * Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + */ + openTelemetryLogs?: ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs; +} + +/** + * Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation { + /** + * Indicates if Application Monitoring Auto Instrumentation is enabled or not. + */ + enabled?: boolean; +} + +/** + * Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics { + /** + * Indicates if Application Monitoring Open Telemetry Metrics is enabled or not. + */ + enabled?: boolean; + + /** + * The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333. + */ + port?: int64; +} + +/** + * Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs { + /** + * Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not. + */ + enabled?: boolean; + + /** + * The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331. + */ + port?: int64; +} + +/** + * Service mesh profile for a managed cluster. + */ +model ServiceMeshProfile { + /** + * Mode of the service mesh. + */ + mode: ServiceMeshMode; + + /** + * Istio service mesh configuration. + */ + istio?: IstioServiceMesh; +} + +/** + * Istio service mesh configuration. + */ +model IstioServiceMesh { + /** + * Istio components configuration. + */ + components?: IstioComponents; + + /** + * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca + */ + certificateAuthority?: IstioCertificateAuthority; + + /** + * The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + */ + @maxItems(2) + @uniqueItems + revisions?: string[]; +} + +/** + * Istio components configuration. + */ +model IstioComponents { + /** + * Istio ingress gateways. + */ + @identifiers(#[]) + ingressGateways?: IstioIngressGateway[]; + + /** + * Istio egress gateways. + */ + @identifiers(#[]) + egressGateways?: IstioEgressGateway[]; + + /** + * Mode of traffic redirection. + */ + @added(Versions.v2025_10_02_preview) + proxyRedirectionMechanism?: ProxyRedirectionMechanism; +} + +/** + * Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + */ +model IstioIngressGateway { + /** + * Mode of an ingress gateway. + */ + mode: IstioIngressGatewayMode; + + /** + * Whether to enable the ingress gateway. + */ + enabled: boolean; +} + +/** + * Istio egress gateway configuration. + */ +model IstioEgressGateway { + /** + * Whether to enable the egress gateway. + */ + enabled: boolean; + + /** + * Name of the Istio add-on egress gateway. + */ + @pattern("[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*") + name: string; + + /** + * Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress. + */ + `namespace`?: string; + + /** + * Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in. + */ + gatewayConfigurationName?: string; +} + +/** + * Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca + */ +model IstioCertificateAuthority { + /** + * Plugin certificates information for Service Mesh. + */ + plugin?: IstioPluginCertificateAuthority; +} + +/** + * Plugin certificates information for Service Mesh. + */ +model IstioPluginCertificateAuthority { + /** + * The resource ID of the Key Vault. + */ + keyVaultId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.KeyVault/vaults"; + } + ]>; + + /** + * Intermediate certificate object name in Azure Key Vault. + */ + certObjectName?: string; + + /** + * Intermediate certificate private key object name in Azure Key Vault. + */ + keyObjectName?: string; + + /** + * Root certificate object name in Azure Key Vault. + */ + rootCertObjectName?: string; + + /** + * Certificate chain object name in Azure Key Vault. + */ + certChainObjectName?: string; +} + +/** + * The metrics profile for the ManagedCluster. + */ +model ManagedClusterMetricsProfile { + /** + * The configuration for detailed per-Kubernetes resource cost analysis. + */ + costAnalysis?: ManagedClusterCostAnalysis; +} + +/** + * The cost analysis configuration for the cluster + */ +model ManagedClusterCostAnalysis { + /** + * Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis. + */ + enabled?: boolean; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterNodeProvisioningProfile { + /** + * The node provisioning mode. If not specified, the default is Manual. + */ + mode?: NodeProvisioningMode; + + /** + * The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. + */ + defaultNodePools?: NodeProvisioningDefaultNodePools = NodeProvisioningDefaultNodePools.Auto; +} + +/** + * The bootstrap profile. + */ +model ManagedClusterBootstrapProfile { + /** + * The artifact source. The source where the artifacts are downloaded from. + */ + artifactSource?: ArtifactSource = ArtifactSource.Direct; + + /** + * The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy. + */ + containerRegistryId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.ContainerRegistry/registries"; + } + ]>; +} + +/** + * When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterAIToolchainOperatorProfile { + /** + * Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not. + */ + enabled?: boolean; +} + +/** + * The pod scheduler profile for the cluster. + */ +@added(Versions.v2025_10_02_preview) +model SchedulerProfile { + /** + * Mapping of each scheduler instance to its profile. + */ + schedulerInstanceProfiles?: SchedulerProfileSchedulerInstanceProfiles; +} + +/** + * Mapping of each scheduler instance to its profile. + */ +@added(Versions.v2025_10_02_preview) +model SchedulerProfileSchedulerInstanceProfiles { + /** + * The scheduler profile for the upstream scheduler instance. + */ + upstream?: SchedulerInstanceProfile; +} + +/** + * The scheduler profile for a single scheduler instance. + */ +@added(Versions.v2025_10_02_preview) +model SchedulerInstanceProfile { + /** + * The config customization mode for this scheduler instance. + */ + schedulerConfigMode?: SchedulerConfigMode; +} + +/** + * Settings for hosted system addons. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterHostedSystemProfile { + /** + * Whether to enable hosted system addons for the cluster. + */ + enabled?: boolean; +} + +/** + * Contains read-only information about the Managed Cluster. + */ +model ManagedClusterStatus { + /** + * The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted. + */ + @visibility(Lifecycle.Read) + provisioningError?: Azure.ResourceManager.CommonTypes.ErrorDetail; +} + +/** + * Control plane and agent pool upgrade profiles. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterUpgradeProfileProperties { + /** + * The list of available upgrade versions for the control plane. + */ + controlPlaneProfile: ManagedClusterPoolUpgradeProfile; + + /** + * The list of available upgrade versions for agent pools. + */ + @identifiers(#[]) + agentPoolProfiles: ManagedClusterPoolUpgradeProfile[]; +} + +/** + * The list of available upgrade versions. + */ +model ManagedClusterPoolUpgradeProfile { + /** + * The Kubernetes version (major.minor.patch). + */ + kubernetesVersion: string; + + /** + * The Agent Pool name. + */ + name?: string; + + /** + * The operating system type. The default is Linux. + */ + osType: OSType = OSType.Linux; + + /** + * List of orchestrator types and versions available for upgrade. + */ + @identifiers(#[]) + upgrades?: ManagedClusterPoolUpgradeProfileUpgradesItem[]; + + /** + * List of components grouped by kubernetes major.minor version. + */ + @added(Versions.v2025_10_02_preview) + @identifiers(#[]) + componentsByReleases?: ComponentsByRelease[]; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterPoolUpgradeProfileUpgradesItem { + /** + * The Kubernetes version (major.minor.patch). + */ + kubernetesVersion?: string; + + /** + * Whether the Kubernetes version is currently in preview. + */ + isPreview?: boolean; + + /** + * Whether the Kubernetes version is out of support. + */ + @added(Versions.v2025_10_02_preview) + isOutOfSupport?: boolean; +} + +/** + * components of given Kubernetes version. + */ +@added(Versions.v2025_10_02_preview) +model ComponentsByRelease { + /** + * The Kubernetes version (major.minor). + */ + kubernetesVersion?: string; + + /** + * components of current or upgraded Kubernetes version in the cluster. + */ + @identifiers(#[]) + components?: Component[]; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model Component { + /** + * Component name. + */ + name?: string; + + /** + * Component version. + */ + version?: string; + + /** + * If upgraded component version contains breaking changes from the current version. To see a detailed description of what the breaking changes are, visit https://learn.microsoft.com/azure/aks/supported-kubernetes-versions?tabs=azure-cli#aks-components-breaking-changes-by-version. + */ + hasBreakingChanges?: boolean; +} + +/** + * Managed cluster Access Profile. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ManagedClusterAccessProfile + extends Azure.ResourceManager.CommonTypes.TrackedResource { + /** + * AccessProfile of a managed cluster. + */ + properties?: AccessProfile; +} + +/** + * Profile for enabling a user to access a managed cluster. + */ +model AccessProfile { + /** + * Base64-encoded Kubernetes configuration file. + */ + kubeConfig?: bytes; +} + +/** + * The list credential result response. + */ +model CredentialResults { + /** + * Base64-encoded Kubernetes configuration file. + */ + @visibility(Lifecycle.Read) + @identifiers(#[]) + kubeconfigs?: CredentialResult[]; +} + +/** + * The credential result response. + */ +model CredentialResult { + /** + * The name of the credential. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Base64-encoded Kubernetes configuration file. + */ + @visibility(Lifecycle.Read) + value?: bytes; +} + +/** + * Tags object for patch operations. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model TagsObject { + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; +} + +/** + * Properties used to configure planned maintenance for a Managed Cluster. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model MaintenanceConfigurationProperties { + /** + * Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries. + */ + @identifiers(#[]) + timeInWeek?: TimeInWeek[]; + + /** + * Time slots on which upgrade is not allowed. + */ + @identifiers(#[]) + notAllowedTime?: TimeSpan[]; + + /** + * Maintenance window for the maintenance configuration. + */ + maintenanceWindow?: MaintenanceWindow; +} + +/** + * Time in a week. + */ +model TimeInWeek { + /** + * The day of the week. + */ + day?: WeekDay; + + /** + * A list of hours in the day used to identify a time range. Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + */ + hourSlots?: HourInDay[]; +} + +/** + * Hour in a day. + */ +@minValue(0) +@maxValue(23) +scalar HourInDay extends int32; + +/** + * A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + */ +model TimeSpan { + /** + * The start of a time span + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + start?: utcDateTime; + + /** + * The end of a time span + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + end?: utcDateTime; +} + +/** + * Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + */ +model MaintenanceWindow { + /** + * Recurrence schedule for the maintenance window. + */ + schedule: Schedule; + + /** + * Length of maintenance window range from 4 to 24 hours. + */ + @maxValue(24) + @minValue(4) + durationHours: int32 = 24; + + /** + * The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'. + */ + @pattern("^(-|\\+)[0-9]{2}:[0-9]{2}$") + utcOffset?: string; + + /** + * The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + */ + startDate?: plainDate; + + /** + * The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + */ + @pattern("^\\d{2}:\\d{2}$") + startTime: string; + + /** + * Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time. + */ + @identifiers(#[]) + notAllowedDates?: DateSpan[]; +} + +/** + * One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule. + */ +model Schedule { + /** + * For schedules like: 'recur every day' or 'recur every 3 days'. + */ + daily?: DailySchedule; + + /** + * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + */ + weekly?: WeeklySchedule; + + /** + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + */ + absoluteMonthly?: AbsoluteMonthlySchedule; + + /** + * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + */ + relativeMonthly?: RelativeMonthlySchedule; +} + +/** + * For schedules like: 'recur every day' or 'recur every 3 days'. + */ +model DailySchedule { + /** + * Specifies the number of days between each set of occurrences. + */ + @maxValue(7) + @minValue(1) + intervalDays: int32; +} + +/** + * For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + */ +model WeeklySchedule { + /** + * Specifies the number of weeks between each set of occurrences. + */ + @maxValue(4) + @minValue(1) + intervalWeeks: int32; + + /** + * Specifies on which day of the week the maintenance occurs. + */ + dayOfWeek: WeekDay; +} + +/** + * For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + */ +model AbsoluteMonthlySchedule { + /** + * Specifies the number of months between each set of occurrences. + */ + @maxValue(6) + @minValue(1) + intervalMonths: int32; + + /** + * The date of the month. + */ + @maxValue(31) + @minValue(1) + dayOfMonth: int32; +} + +/** + * For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + */ +model RelativeMonthlySchedule { + /** + * Specifies the number of months between each set of occurrences. + */ + @maxValue(6) + @minValue(1) + intervalMonths: int32; + + /** + * The week index. Specifies on which week of the month the dayOfWeek applies. + */ + weekIndex: Type; + + /** + * Specifies on which day of the week the maintenance occurs. + */ + dayOfWeek: WeekDay; +} + +/** + * A date range. For example, between '2022-12-23' and '2023-01-05'. + */ +model DateSpan { + /** + * The start date of the date span. + */ + start: plainDate; + + /** + * The end date of the date span. + */ + end: plainDate; +} + +/** + * Reference to another subresource. + */ +model SubResource { + /** + * Resource ID. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * The name of the resource that is unique within a resource group. This name can be used to access the resource. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Resource type + */ + @visibility(Lifecycle.Read) + type?: string; +} + +/** + * Properties of a namespace managed by ARM + */ +model NamespaceProperties { + /** + * The current provisioning state of the namespace. + */ + @visibility(Lifecycle.Read) + provisioningState?: NamespaceProvisioningState; + + /** + * The labels of managed namespace. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + labels?: Record; + + /** + * The annotations of managed namespace. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + annotations?: Record; + + /** + * The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. + */ + @visibility(Lifecycle.Read) + portalFqdn?: string; + + /** + * The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied. + */ + defaultResourceQuota?: ResourceQuota; + + /** + * The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow. + */ + defaultNetworkPolicy?: NetworkPolicies; + + /** + * Action if Kubernetes namespace with same name already exists. + */ + adoptionPolicy?: AdoptionPolicy; + + /** + * Delete options of a namespace. + */ + deletePolicy?: DeletePolicy; +} + +/** + * Resource quota for the namespace. + */ +model ResourceQuota { + /** + * CPU request of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details. + */ + cpuRequest?: string; + + /** + * CPU limit of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details. + */ + cpuLimit?: string; + + /** + * Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details. + */ + memoryRequest?: string; + + /** + * Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details. + */ + memoryLimit?: string; +} + +/** + * Default network policy of the namespace, specifying ingress and egress rules. + */ +model NetworkPolicies { + /** + * Enum representing different network policy rules. + */ + ingress?: PolicyRule = PolicyRule.AllowSameNamespace; + + /** + * Enum representing different network policy rules. + */ + egress?: PolicyRule = PolicyRule.AllowAll; +} + +/** + * The list of available upgrade versions. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model AgentPoolUpgradeProfileProperties { + /** + * The Kubernetes version (major.minor.patch). + */ + kubernetesVersion: string; + + /** + * The operating system type. The default is Linux. + */ + osType: OSType = OSType.Linux; + + /** + * List of orchestrator types and versions available for upgrade. + */ + @identifiers(#[]) + upgrades?: AgentPoolUpgradeProfilePropertiesUpgradesItem[]; + + /** + * List of components grouped by kubernetes major.minor version. + */ + @added(Versions.v2025_10_02_preview) + @identifiers(#[]) + componentsByReleases?: ComponentsByRelease[]; + + /** + * List of historical good versions for rollback operations. + */ + @added(Versions.v2025_10_02_preview) + @visibility(Lifecycle.Read) + @identifiers(#[]) + recentlyUsedVersions?: AgentPoolRecentlyUsedVersion[]; + + /** + * The latest AKS supported node image version. + */ + latestNodeImageVersion?: string; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model AgentPoolUpgradeProfilePropertiesUpgradesItem { + /** + * The Kubernetes version (major.minor.patch). + */ + kubernetesVersion?: string; + + /** + * Whether the Kubernetes version is currently in preview. + */ + isPreview?: boolean; + + /** + * Whether the Kubernetes version is out of support. + */ + @added(Versions.v2025_10_02_preview) + isOutOfSupport?: boolean; +} + +/** + * A historical version that can be used for rollback operations. + */ +@added(Versions.v2025_10_02_preview) +model AgentPoolRecentlyUsedVersion { + /** + * The Kubernetes version (major.minor.patch) available for rollback. + */ + orchestratorVersion?: string; + + /** + * The node image version available for rollback. + */ + nodeImageVersion?: string; + + /** + * The timestamp when this version was last used. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + timestamp?: utcDateTime; +} + +/** + * Specifies a list of machine names from the agent pool to be deleted. + */ +model AgentPoolDeleteMachinesParameter { + /** + * The agent pool machine names. + */ + machineNames: string[]; +} + +/** + * The hardware and GPU settings of the machine. + */ +@added(Versions.v2025_10_02_preview) +model MachineHardwareProfile { + /** + * The size of the VM. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions + */ + vmSize?: string; + + /** + * GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + */ + gpuInstanceProfile?: GPUInstanceProfile; + + /** + * The GPU settings of the machine. + */ + gpuProfile?: GPUProfile; +} + +/** + * The operating system and disk used by the machine. + */ +@added(Versions.v2025_10_02_preview) +model MachineOSProfile { + /** + * The operating system type. The default is Linux. + */ + osType?: OSType = OSType.Linux; + + /** + * Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + osSKU?: OSSKU; + + /** + * OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @maxValue(2048) + @minValue(0) + osDiskSizeGB?: int32; + + /** + * The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + */ + osDiskType?: OSDiskType; + + /** + * Whether to use a FIPS-enabled OS. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + enableFIPS?: boolean; + + /** + * The Linux machine's specific profile. + */ + linuxProfile?: MachineOSProfileLinuxProfile; + + /** + * The Windows machine's specific profile. + */ + windowsProfile?: AgentPoolWindowsProfile; +} + +/** + * The Linux machine's specific profile. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model MachineOSProfileLinuxProfile { + /** + * The OS configuration of Linux machine. + */ + linuxOSConfig?: LinuxOSConfig; + + /** + * Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script). + */ + messageOfTheDay?: string; +} + +/** + * The Kubernetes configurations used by the machine. + */ +@added(Versions.v2025_10_02_preview) +model MachineKubernetesProfile { + /** + * The node labels on the machine. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + nodeLabels?: Record; + + /** + * The version of Kubernetes specified by the user. Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. + */ + orchestratorVersion?: string; + + /** + * The version of Kubernetes running on the machine. If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used. + */ + @visibility(Lifecycle.Read) + currentOrchestratorVersion?: string; + + /** + * Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. + */ + kubeletDiskType?: KubeletDiskType; + + /** + * The Kubelet configuration on the machine. + */ + kubeletConfig?: KubeletConfig; + + /** + * Taints added on the node 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. 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-` + */ + nodeInitializationTaints?: string[]; + + /** + * The taints added to new node during machine create. For example, key=value:NoSchedule. + */ + nodeTaints?: string[]; + + /** + * The maximum number of pods that can run on a node. + */ + maxPods?: int32; + + /** + * The node name in the Kubernetes cluster. + */ + @visibility(Lifecycle.Read) + nodeName?: string; + + /** + * Determines the type of workload a node can run. + */ + workloadRuntime?: WorkloadRuntime; + + /** + * Configuration for using artifact streaming on AKS. + */ + artifactStreamingProfile?: AgentPoolArtifactStreamingProfile; +} + +/** + * Contains read-only information about the machine. + */ +@added(Versions.v2025_10_02_preview) +model MachineStatus { + /** + * The error details information of the machine. Preserves the detailed info of failure. If there was no error, this field is omitted. + */ + @visibility(Lifecycle.Read) + provisioningError?: Azure.ResourceManager.CommonTypes.ErrorDetail; + + /** + * Specifies the time at which the machine was created. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + creationTimestamp?: utcDateTime; + + /** + * The drift action of the machine. Indicates whether a machine has deviated from its expected state due to changes in managed cluster properties, requiring corrective action. + */ + @visibility(Lifecycle.Read) + driftAction?: DriftAction; + + /** + * Reason for machine drift. Provides detailed information on why the machine has drifted. This field is omitted if the machine is up to date. + */ + @visibility(Lifecycle.Read) + driftReason?: string; + + /** + * Virtual machine state. Indicates the current state of the underlying virtual machine. + */ + @visibility(Lifecycle.Read) + vmState?: VmState; +} + +/** + * The list of available versions for an agent pool. + */ +model AgentPoolAvailableVersions { + /** + * The ID of the agent pool version list. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * The name of the agent pool version list. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Type of the agent pool version list. + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Properties of agent pool available versions. + */ + properties: AgentPoolAvailableVersionsProperties; +} + +/** + * The list of available agent pool versions. + */ +model AgentPoolAvailableVersionsProperties { + /** + * List of versions available for agent pool. + */ + @identifiers(#[]) + agentPoolVersions?: AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem[]; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem { + /** + * Whether this version is the default agent pool version. + */ + default?: boolean; + + /** + * The Kubernetes version (major.minor.patch). + */ + kubernetesVersion?: string; + + /** + * Whether Kubernetes version is currently in preview. + */ + isPreview?: boolean; +} + +/** + * A list of private endpoint connections + */ +model PrivateEndpointConnectionListResult { + /** + * The collection value. + */ + @pageItems + value?: PrivateEndpointConnection[]; +} + +/** + * Properties of a private endpoint connection. + */ +model PrivateEndpointConnectionProperties { + /** + * The current provisioning state. + */ + @visibility(Lifecycle.Read) + provisioningState?: PrivateEndpointConnectionProvisioningState; + + /** + * The resource of private endpoint. + */ + privateEndpoint?: PrivateEndpoint; + + /** + * A collection of information about the state of the connection between service consumer and provider. + */ + privateLinkServiceConnectionState: PrivateLinkServiceConnectionState; +} + +/** + * Private endpoint which a connection belongs to. + */ +model PrivateEndpoint { + /** + * The resource ID of the private endpoint + */ + id?: string; +} + +/** + * The state of a private link service connection. + */ +model PrivateLinkServiceConnectionState { + /** + * The private link service connection status. + */ + status?: ConnectionStatus; + + /** + * The private link service connection description. + */ + description?: string; +} + +/** + * A list of private link resources + */ +model PrivateLinkResourcesListResult { + /** + * The collection value. + */ + @pageItems + value?: PrivateLinkResource[]; +} + +/** + * A run command request + */ +model RunCommandRequest { + /** + * The command to run. + */ + command: string; + + /** + * A base64 encoded zip file containing the files required by the command. + */ + context?: string; + + /** + * AuthToken issued for AKS AAD Server App. + */ + clusterToken?: string; +} + +/** + * run command result. + */ +model RunCommandResult { + /** + * The command id. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Properties of command result. + */ + properties?: CommandResultProperties; +} + +/** + * The results of a run command + */ +model CommandResultProperties { + /** + * provisioning State + */ + @visibility(Lifecycle.Read) + provisioningState?: string; + + /** + * The exit code of the command + */ + @visibility(Lifecycle.Read) + exitCode?: int32; + + /** + * The time when the command started. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startedAt?: utcDateTime; + + /** + * The time when the command finished. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + finishedAt?: utcDateTime; + + /** + * The command output. + */ + @visibility(Lifecycle.Read) + logs?: string; + + /** + * An explanation of why provisioningState is set to failed (if so). + */ + @visibility(Lifecycle.Read) + reason?: string; +} + +/** + * Collection of OutboundEnvironmentEndpoint + */ +model OutboundEnvironmentEndpointCollection + is Azure.Core.Page; + +/** + * Egress endpoints which AKS agent nodes connect to for common purpose. + */ +model OutboundEnvironmentEndpoint { + /** + * The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc. + */ + category?: string; + + /** + * The endpoints that AKS agent nodes connect to + */ + @identifiers(#[]) + endpoints?: EndpointDependency[]; +} + +/** + * A domain name that AKS agent nodes are reaching at. + */ +model EndpointDependency { + /** + * The domain name of the dependency. + */ + domainName?: string; + + /** + * The Ports and Protocols used when connecting to domainName. + */ + @identifiers(#[]) + endpointDetails?: EndpointDetail[]; +} + +/** + * connect information from the AKS agent nodes to a single endpoint. + */ +model EndpointDetail { + /** + * An IP Address that Domain Name currently resolves to. + */ + ipAddress?: string; + + /** + * The port an endpoint is connected to. + */ + port?: int32; + + /** + * The protocol used for connection + */ + protocol?: string; + + /** + * Description of the detail + */ + description?: string; +} + +/** + * The operations list. It contains an URL link to get the next set of results. + */ +model OperationStatusResultList is Azure.Core.Page; + +/** + * Properties used to configure a node pool snapshot. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model SnapshotProperties { + /** + * CreationData to be used to specify the source agent pool resource ID to create this snapshot. + */ + creationData?: CreationData; + + /** + * The type of a snapshot. The default is NodePool. + */ + snapshotType?: SnapshotType = SnapshotType.NodePool; + + /** + * The version of Kubernetes. + */ + @visibility(Lifecycle.Read) + kubernetesVersion?: string; + + /** + * The version of node image. + */ + @visibility(Lifecycle.Read) + nodeImageVersion?: string; + + /** + * The operating system type. The default is Linux. + */ + @visibility(Lifecycle.Read) + osType?: OSType = OSType.Linux; + + /** + * Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + */ + @visibility(Lifecycle.Read) + osSku?: OSSKU; + + /** + * The size of the VM. + */ + @visibility(Lifecycle.Read) + vmSize?: string; + + /** + * Whether to use a FIPS-enabled OS. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + enableFIPS?: boolean; +} + +/** + * Properties for a managed cluster snapshot. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model ManagedClusterSnapshotProperties { + /** + * CreationData to be used to specify the source resource ID to create this snapshot. + */ + creationData?: CreationData; + + /** + * The type of a snapshot. The default is NodePool. + */ + snapshotType?: SnapshotType = SnapshotType.NodePool; + + /** + * What the properties will be showed when getting managed cluster snapshot. Those properties are read-only. + */ + @visibility(Lifecycle.Read) + managedClusterPropertiesReadOnly?: ManagedClusterPropertiesForSnapshot; +} + +/** + * managed cluster properties for snapshot, these properties are read only. + */ +@added(Versions.v2025_10_02_preview) +model ManagedClusterPropertiesForSnapshot { + /** + * The current kubernetes version. + */ + kubernetesVersion?: string; + + /** + * The current managed cluster sku. + */ + sku?: ManagedClusterSKU; + + /** + * Whether the cluster has enabled Kubernetes Role-Based Access Control or not. + */ + enableRbac?: boolean; + + /** + * The current network profile. + */ + @visibility(Lifecycle.Read) + networkProfile?: NetworkProfileForSnapshot; +} + +/** + * network profile for managed cluster snapshot, these properties are read only. + */ +@added(Versions.v2025_10_02_preview) +model NetworkProfileForSnapshot { + /** + * networkPlugin for managed cluster snapshot. + */ + networkPlugin?: NetworkPlugin; + + /** + * NetworkPluginMode for managed cluster snapshot. + */ + networkPluginMode?: NetworkPluginMode; + + /** + * networkPolicy for managed cluster snapshot. + */ + networkPolicy?: NetworkPolicy; + + /** + * networkMode for managed cluster snapshot. + */ + networkMode?: NetworkMode; + + /** + * loadBalancerSku for managed cluster snapshot. + */ + loadBalancerSku?: LoadBalancerSku; +} + +/** + * Whether the version is default or not and support info. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model GuardrailsAvailableVersionsProperties { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + isDefaultVersion?: boolean; + + /** + * Whether the version is preview or stable. + */ + @visibility(Lifecycle.Read) + support?: GuardrailsSupport; +} + +/** + * Hold values properties, which is array of GuardrailsVersions + */ +@added(Versions.v2025_10_02_preview) +model GuardrailsAvailableVersionsList + is Azure.Core.Page; + +/** + * Whether the version is default or not and support info. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model SafeguardsAvailableVersionsProperties { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + isDefaultVersion?: boolean; + + /** + * Whether the version is preview or stable. + */ + @visibility(Lifecycle.Read) + support?: SafeguardsSupport; +} + +/** + * Hold values properties, which is array of SafeguardsVersions + */ +@added(Versions.v2025_10_02_preview) +model SafeguardsAvailableVersionsList + is Azure.Core.Page; + +/** + * Holds an array of MeshRevisionsProfiles + */ +model MeshRevisionProfileList is Azure.Core.Page; + +/** + * Mesh revision profile properties for a mesh + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model MeshRevisionProfileProperties { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @identifiers(#[]) + meshRevisions?: MeshRevision[]; +} + +/** + * An upgradeable mesh revision + */ +scalar MeshRevisionUpgradesType extends string; +/** + * Holds information on upgrades and compatibility for given major.minor mesh release. + */ +model MeshRevision { + /** + * The revision of the mesh release. + */ + revision?: string; + + /** + * List of revisions available for upgrade of a specific mesh revision + */ + upgrades?: MeshRevisionUpgradesType[]; + + /** + * List of items this revision of service mesh is compatible with, and their associated versions. + */ + @identifiers(#[]) + compatibleWith?: CompatibleVersions[]; +} + +/** + * A compatible product/service version. + */ +scalar CompatibleVersionsVersionsType extends string; + +/** + * Version information about a product/service that is compatible with a service mesh revision. + */ +model CompatibleVersions { + /** + * The product/service name. + */ + name?: string; + + /** + * Product/service versions compatible with a service mesh add-on revision. + */ + versions?: CompatibleVersionsVersionsType[]; +} + +/** + * Holds an array of MeshUpgradeProfiles + */ +model MeshUpgradeProfileList is Azure.Core.Page; + +/** + * Mesh upgrade profile properties for a major.minor release. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model MeshUpgradeProfileProperties extends MeshRevision {} + +/** + * Properties for trusted access role binding + */ +model TrustedAccessRoleBindingProperties { + /** + * The current provisioning state of trusted access role binding. + */ + @visibility(Lifecycle.Read) + provisioningState?: TrustedAccessRoleBindingProvisioningState; + + /** + * The ARM resource ID of source resource that trusted access is configured for. + */ + sourceResourceId: Azure.Core.armResourceIdentifier; + + /** + * A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'. + */ + roles: string[]; +} + +/** + * List of trusted access roles + */ +model TrustedAccessRoleListResult is Azure.Core.Page; + +/** + * Trusted access role definition. + */ +model TrustedAccessRole { + /** + * Resource type of Azure resource + */ + @visibility(Lifecycle.Read) + sourceResourceType?: string; + + /** + * Name of role, name is unique under a source resource type + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole). + */ + @visibility(Lifecycle.Read) + @identifiers(#[]) + rules?: TrustedAccessRoleRule[]; +} + +/** + * Rule for trusted access role + */ +model TrustedAccessRoleRule { + /** + * List of allowed verbs + */ + @visibility(Lifecycle.Read) + verbs?: string[]; + + /** + * List of allowed apiGroups + */ + @visibility(Lifecycle.Read) + apiGroups?: string[]; + + /** + * List of allowed resources + */ + @visibility(Lifecycle.Read) + resources?: string[]; + + /** + * List of allowed names + */ + @visibility(Lifecycle.Read) + resourceNames?: string[]; + + /** + * List of allowed nonResourceURLs + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + nonResourceURLs?: string[]; +} + +/** + * The properties of the machine + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model MachineProperties { + /** + * network properties of the machine + */ + @visibility(Lifecycle.Read) + network?: MachineNetworkProperties; + + /** + * Azure resource id of the machine. It can be used to GET underlying VM Instance + */ + @visibility(Lifecycle.Read) + resourceId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Compute/virtualMachines"; + }, + { + type: "Microsoft.Compute/virtualMachineScaleSets/virtualMachines"; + } + ]>; + + /** + * The hardware and GPU settings of the machine. + */ + @added(Versions.v2025_10_02_preview) + hardware?: MachineHardwareProfile; + + /** + * The operating system and disk used by the machine. + */ + @added(Versions.v2025_10_02_preview) + operatingSystem?: MachineOSProfile; + + /** + * The Kubernetes configurations used by the machine. + */ + @added(Versions.v2025_10_02_preview) + kubernetes?: MachineKubernetesProfile; + + /** + * Machine only allows 'System' and 'User' mode. + */ + @added(Versions.v2025_10_02_preview) + mode?: AgentPoolMode; + + /** + * The security settings of the machine. + */ + @added(Versions.v2025_10_02_preview) + security?: MachineSecurityProfile; + + /** + * The priority for the machine. If not specified, the default is 'Regular'. + */ + @added(Versions.v2025_10_02_preview) + priority?: ScaleSetPriority = ScaleSetPriority.Regular; + + /** + * The version of node image. + */ + @added(Versions.v2025_10_02_preview) + @visibility(Lifecycle.Read) + nodeImageVersion?: string; + + /** + * The current deployment or provisioning state. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + @visibility(Lifecycle.Read) + provisioningState?: string; + + /** + * The tags to be persisted on the machine. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + tags?: Record; + + /** + * Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention. + */ + @added(Versions.v2025_10_02_preview) + @visibility(Lifecycle.Read) + eTag?: string; + + /** + * Contains read-only information about the machine. + */ + @added(Versions.v2025_10_02_preview) + @visibility(Lifecycle.Read) + status?: MachineStatus; +} + +/** + * network properties of the machine + */ +model MachineNetworkProperties { + /** + * IPv4, IPv6 addresses of the machine + */ + @visibility(Lifecycle.Read) + @identifiers(#[]) + ipAddresses?: MachineIpAddress[]; + + /** + * The ID of the subnet which node and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + vnetSubnetID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/virtualNetworks/subnets"; + } + ]>; + + /** + * The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + podSubnetID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/virtualNetworks/subnets"; + } + ]>; + + /** + * Whether the machine is allocated its own public IP. Some scenarios may require the machine to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. The default is false. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + enableNodePublicIP?: boolean; + + /** + * The public IP prefix ID which VM node should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + nodePublicIPPrefixID?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Network/publicIPPrefixes"; + } + ]>; + + /** + * IPTags of instance-level public IPs. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @added(Versions.v2025_10_02_preview) + @identifiers(#[]) + nodePublicIPTags?: IPTag[]; +} + +/** + * The machine IP address details. + */ +model MachineIpAddress { + /** + * To determine if address belongs IPv4 or IPv6 family + */ + @visibility(Lifecycle.Read) + family?: IPFamily; + + /** + * IPv4 or IPv6 address of the machine + */ + @visibility(Lifecycle.Read) + ip?: string; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model LoadBalancerProperties { + /** + * 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. + */ + primaryAgentPoolName: string; + + /** + * 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. + */ + allowServicePlacement?: boolean; + + /** + * Only services that must match this selector can be placed on this load balancer. + */ + serviceLabelSelector?: LabelSelector; + + /** + * Services created in namespaces that match the selector can be placed on this load balancer. + */ + serviceNamespaceSelector?: LabelSelector; + + /** + * Nodes that match this selector will be possible members of this load balancer. + */ + nodeSelector?: LabelSelector; + + /** + * The current provisioning state. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + provisioningState?: string; +} + +/** + * A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. + */ +@added(Versions.v2025_10_02_preview) +model LabelSelector { + /** + * matchLabels is an array of {key=value} pairs. A single {key=value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is `key`, the operator is `In`, and the values array contains only `value`. The requirements are ANDed. + */ + matchLabels?: string[]; + + /** + * matchExpressions is a list of label selector requirements. The requirements are ANDed. + */ + @identifiers(#[]) + matchExpressions?: LabelSelectorRequirement[]; +} + +/** + * A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + */ +@added(Versions.v2025_10_02_preview) +model LabelSelectorRequirement { + /** + * key is the label key that the selector applies to. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + key?: string; + + /** + * operator represents a key's relationship to a set of values. Valid operators are In and NotIn + */ + operator?: Operator; + + /** + * values is an array of string values, the values array must be non-empty. + */ + values?: string[]; +} + +/** + * The names of the load balancers to rebalance. If set to empty, all load balancers will be rebalanced. + */ +@added(Versions.v2025_10_02_preview) +model RebalanceLoadBalancersRequestBody { + /** + * The load balancer names list. + */ + loadBalancerNames?: string[]; +} + +/** + * IdentityBinding properties. + */ +@added(Versions.v2025_10_02_preview) +model IdentityBindingProperties { + /** + * Managed identity profile for the identity binding. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + managedIdentity: IdentityBindingManagedIdentityProfile; + + /** + * The OIDC issuer URL of the IdentityBinding. + */ + @visibility(Lifecycle.Read) + oidcIssuer?: IdentityBindingOidcIssuerProfile; + + /** + * The status of the last operation. + */ + @visibility(Lifecycle.Read) + provisioningState?: IdentityBindingProvisioningState; +} + +/** + * Managed identity profile for the identity binding. + */ +@added(Versions.v2025_10_02_preview) +model IdentityBindingManagedIdentityProfile { + /** + * The resource ID of the managed identity. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + @pattern("^/subscriptions/[a-zA-Z0-9-]+/resourceGroups/[a-zA-Z0-9-]+/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[a-zA-Z0-9-]+$") + resourceId: Azure.Core.armResourceIdentifier; + + /** + * The object ID of the managed identity. + */ + @visibility(Lifecycle.Read) + @maxLength(36) + @minLength(36) + @pattern("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + objectId?: string; + + /** + * The client ID of the managed identity. + */ + @visibility(Lifecycle.Read) + @maxLength(36) + @minLength(36) + @pattern("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + clientId?: string; + + /** + * The tenant ID of the managed identity. + */ + @visibility(Lifecycle.Read) + @maxLength(36) + @minLength(36) + @pattern("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + tenantId?: string; +} + +/** + * IdentityBinding OIDC issuer profile. + */ +@added(Versions.v2025_10_02_preview) +model IdentityBindingOidcIssuerProfile { + /** + * The OIDC issuer URL of the IdentityBinding. + */ + @visibility(Lifecycle.Read) + oidcIssuerUrl?: url; +} + +/** + * 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. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model JWTAuthenticatorProperties { + /** + * The current provisioning state of the JWT authenticator. + */ + @visibility(Lifecycle.Read) + provisioningState?: JWTAuthenticatorProvisioningState; + + /** + * The JWT OIDC issuer details. + */ + issuer: JWTAuthenticatorIssuer; + + /** + * The rules that are applied to validate token claims to authenticate users. All the expressions must evaluate to true for validation to succeed. + */ + @identifiers(#[]) + claimValidationRules?: JWTAuthenticatorValidationRule[]; + + /** + * The mappings that define how user attributes are extracted from the token claims. + */ + claimMappings: JWTAuthenticatorClaimMappings; + + /** + * The rules that are applied to the mapped user before completing authentication. All the expressions must evaluate to true for validation to succeed. + */ + @identifiers(#[]) + userValidationRules?: JWTAuthenticatorValidationRule[]; +} + +/** + * The OIDC issuer details for JWTAuthenticator. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model JWTAuthenticatorIssuer { + /** + * The issuer URL. The URL must begin with the scheme https and cannot contain a query string or fragment. This must match the "iss" claim in the presented JWT, and the issuer returned from discovery. + */ + url: string; + + /** + * The set of acceptable audiences the JWT must be issued to. At least one is required. When multiple is set, AudienceMatchPolicy is used in API Server configuration. + */ + @minItems(1) + audiences: string[]; +} + +/** + * The validation rule for JWTAuthenticator. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model JWTAuthenticatorValidationRule { + /** + * The CEL expression used to validate the claim or attribute. + */ + expression: string; + + /** + * The validation error message. + */ + message?: string; +} + +/** + * The claim mappings for JWTAuthenticator. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model JWTAuthenticatorClaimMappings { + /** + * The expression to extract username attribute from the token claims. + */ + username: JWTAuthenticatorClaimMappingExpression; + + /** + * The expression to extract groups attribute from the token claims. When not provided, no groups are extracted from the token claims. + */ + groups?: JWTAuthenticatorClaimMappingExpression; + + /** + * The expression to extract uid attribute from the token claims. When not provided, no uid is extracted from the token claims. + */ + uid?: JWTAuthenticatorClaimMappingExpression; + + /** + * The expression to extract extra attribute from the token claims. When not provided, no extra attributes are extracted from the token claims. + */ + @identifiers(#[]) + extra?: JWTAuthenticatorExtraClaimMappingExpression[]; +} + +/** + * The claim mapping expression for JWTAuthenticator. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model JWTAuthenticatorClaimMappingExpression { + /** + * The CEL expression used to access token claims. + */ + expression: string; +} + +/** + * The extra claim mapping expression for JWTAuthenticator. + */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@added(Versions.v2025_10_02_preview) +model JWTAuthenticatorExtraClaimMappingExpression { + /** + * The key of the extra attribute. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + key: string; + + /** + * The CEL expression used to extract the value of the extra attribute. + */ + valueExpression: string; +} + +/** + * Mesh membership properties of a managed cluster. + */ +@added(Versions.v2025_10_02_preview) +model MeshMembershipProperties { + /** + * The current provisioning state of the Mesh Membership. + */ + @visibility(Lifecycle.Read) + provisioningState?: MeshMembershipProvisioningState; + + /** + * The ARM resource id for the managed mesh member. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/applinks/{appLinkName}/appLinkMembers/{appLinkMemberName}'. Visit https://aka.ms/applink for more information. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + managedMeshID: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.AppLink/applinks"; + } + ]>; +} + +/** + * The List Operation response. + */ +model OperationListResult { + /** + * The list of operations + */ + @pageItems + value: OperationValue[]; + + /** + * The link to the next page of items + */ + @nextLink + nextLink?: url; +} + +/** + * The result of a request to list mesh memberships in a managed cluster. + */ +@added(Versions.v2025_10_02_preview) +model MeshMembershipsListResult { + /** + * The list of mesh memberships. + */ + @pageItems + value: MeshMembership[]; + + @doc("The URL to get the next set of mesh membership results.") + @nextLink + nextLink?: ResourceLocation; +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AdvancedNetworkingTransitEncryption.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AdvancedNetworkingTransitEncryption.json index 916dc8a4e872..47f044fd3eb3 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AdvancedNetworkingTransitEncryption.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AdvancedNetworkingTransitEncryption.json @@ -1,33 +1,24 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,71 +30,76 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 2 - } - }, "advancedNetworking": { "enabled": true, "observability": { "enabled": false }, "security": { - "enabled": true, "advancedNetworkPolicies": "FQDN", + "enabled": true, "transitEncryption": { "type": "WireGuard" } } - } + }, + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" - }, - "addonProfiles": {}, - "enableRBAC": true + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -114,46 +110,27 @@ ] } }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], - "ipFamilies": [ - "IPv4" - ], "advancedNetworking": { "enabled": true, "observability": { "enabled": false }, "security": { - "enabled": true, "advancedNetworkPolicies": "FQDN", + "enabled": true, "transitEncryption": { "type": "WireGuard" } } }, + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -161,43 +138,62 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -208,46 +204,27 @@ ] } }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], - "ipFamilies": [ - "IPv4" - ], "advancedNetworking": { "enabled": true, "observability": { "enabled": false }, "security": { - "enabled": true, "advancedNetworkPolicies": "FQDN", + "enabled": true, "transitEncryption": { "type": "WireGuard" } } }, + "dnsServiceIP": "10.0.0.10", + "ipFamilies": [ + "IPv4" + ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -255,11 +232,36 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Advanced Networking Transit Encryption" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsAbortOperation.json index 2c36f3b2ee13..32f9fb757edb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsAbortOperation.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsAbortOperation.json @@ -1,18 +1,20 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "204": {}, "202": { "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } - } - } + }, + "204": {} + }, + "operationId": "AgentPools_AbortLatestOperation", + "title": "Abort operation on agent pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsAssociate_CRG.json index 2152b8a93791..6ec63cdb54cf 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsAssociate_CRG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsAssociate_CRG.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", + "orchestratorVersion": "", "osType": "Linux", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Associate Agent Pool with Capacity Reservation Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCompleteUpgrade.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCompleteUpgrade.json index d472defdbbc7..36ec4cffbfd0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCompleteUpgrade.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCompleteUpgrade.json @@ -1,17 +1,19 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } } - } + }, + "operationId": "AgentPools_CompleteUpgrade", + "title": "Complete agent pool upgrade" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json index dbaa3482e52d..c8f1eba90b78 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -1,125 +1,127 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", + "currentOrchestratorVersion": "1.17.8", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", "failSwapOn": false, - "seccompDefault": "Unconfined" + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "seccompDefault": "Unconfined", + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", + "currentOrchestratorVersion": "1.17.8", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", "failSwapOn": false, - "podMaxPids": 100 + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 65536, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with KubeletConfig and LinuxOSConfig" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json index fb89cc0fdd2b..c4f8e8a24564 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "orchestratorVersion": "", "osType": "Linux", - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.19.6", + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", "maxPods": 110, + "orchestratorVersion": "1.19.6", "osType": "Linux", - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.19.6", + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", "maxPods": 110, + "orchestratorVersion": "1.19.6", "osType": "Linux", - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Dedicated Host Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json index 28dc49b4b27d..f6022f728db0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableEncryptionAtHost": true, + "orchestratorVersion": "", "osType": "Linux", - "enableEncryptionAtHost": true + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.13", - "currentOrchestratorVersion": "1.17.13", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.13", + "enableEncryptionAtHost": true, "maxPods": 110, + "orchestratorVersion": "1.17.13", "osType": "Linux", - "enableEncryptionAtHost": true + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.13", - "currentOrchestratorVersion": "1.17.13", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.13", + "enableEncryptionAtHost": true, "maxPods": 110, + "orchestratorVersion": "1.17.13", "osType": "Linux", - "enableEncryptionAtHost": true + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with EncryptionAtHost enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableFIPS.json index 052fd4a86d5a..92b7819047c6 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableFIPS.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableFIPS.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableFIPS": true, + "orchestratorVersion": "", "osType": "Linux", - "enableFIPS": true + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, "maxPods": 110, + "orchestratorVersion": "1.19.6", "osType": "Linux", - "enableFIPS": true + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, "maxPods": 110, + "orchestratorVersion": "1.19.6", "osType": "Linux", - "enableFIPS": true + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with FIPS enabled OS" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json index 5792f3c42a8d..d276c3fc632c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableUltraSSD": true, + "orchestratorVersion": "", "osType": "Linux", - "enableUltraSSD": true + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.13", - "currentOrchestratorVersion": "1.17.13", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.13", + "enableUltraSSD": true, "maxPods": 110, + "orchestratorVersion": "1.17.13", "osType": "Linux", - "enableUltraSSD": true + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.13", - "currentOrchestratorVersion": "1.17.13", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.13", + "enableUltraSSD": true, "maxPods": 110, + "orchestratorVersion": "1.17.13", "osType": "Linux", - "enableUltraSSD": true + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with UltraSSD enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Ephemeral.json index e75905a7031e..8777c89e2044 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Ephemeral.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Ephemeral.json @@ -1,58 +1,60 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", + "orchestratorVersion": "", + "osDiskSizeGB": 64, "osDiskType": "Ephemeral", - "osDiskSizeGB": 64 + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, "osDiskType": "Ephemeral", - "osDiskSizeGB": 64 + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", + "kubeletDiskType": "OS", "maxPods": 110, - "osType": "Linux", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, "osDiskType": "Ephemeral", - "kubeletDiskType": "OS", - "osDiskSizeGB": 64 + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Ephemeral OS Disk" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_GPUMIG.json index 82af387a61d1..17d17164f437 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_GPUMIG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_GPUMIG.json @@ -1,127 +1,129 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_ND96asr_v4", - "osType": "Linux", "gpuInstanceProfile": "MIG2g", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_ND96asr_v4" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_ND96asr_v4", - "maxPods": 110, - "osType": "Linux", + "currentOrchestratorVersion": "1.17.8", "gpuInstanceProfile": "MIG2g", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_ND96asr_v4" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_ND96asr_v4", - "maxPods": 110, - "osType": "Linux", + "currentOrchestratorVersion": "1.17.8", "gpuInstanceProfile": "MIG2g", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", "failSwapOn": false, - "podMaxPids": 100 + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 65536, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_ND96asr_v4" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with GPUMIG" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json index b0b53705ee28..8a1d011382e0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json @@ -1,60 +1,62 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "osDiskSizeGB": 64, + "messageOfTheDay": "Zm9vCg==", "mode": "User", - "messageOfTheDay": "Zm9vCg==" + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", - "osDiskSizeGB": 64, + "messageOfTheDay": "Zm9vCg==", "mode": "User", - "messageOfTheDay": "Zm9vCg==" + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", - "osDiskSizeGB": 64, + "messageOfTheDay": "Zm9vCg==", "mode": "User", - "messageOfTheDay": "Zm9vCg==" + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Message of the Day" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_OSSKU.json index d0cac02ab3d7..e67aed9704ba 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_OSSKU.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_OSSKU.json @@ -1,127 +1,129 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "osSKU": "AzureLinux", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osSKU": "AzureLinux", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "osSKU": "AzureLinux", + "currentOrchestratorVersion": "1.17.8", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "osSKU": "AzureLinux", + "currentOrchestratorVersion": "1.17.8", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", "failSwapOn": false, - "podMaxPids": 100 + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 65536, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with OSSKU" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_PPG.json index d7252827b83c..2a46c181d52d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_PPG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_PPG.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "orchestratorVersion": "", "osType": "Linux", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "provisioningState": "Succeeded", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with PPG" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Snapshot.json index ddc271de6809..68b5a8828a1c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Snapshot.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Snapshot.json @@ -1,63 +1,65 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "enableFIPS": true, "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + }, + "enableFIPS": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "enableFIPS": true, "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + }, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "enableFIPS": true, "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + }, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool using an agent pool snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Spot.json index e8a3678a1b1f..7e77f184cbbf 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Spot.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Spot.json @@ -1,86 +1,88 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", - "tags": { - "name1": "val1" - }, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", "scaleSetPriority": "Spot", - "scaleSetEvictionPolicy": "Delete" + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", "scaleSetEvictionPolicy": "Delete", - "spotMaxPrice": -1 + "scaleSetPriority": "Spot", + "spotMaxPrice": -1, + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", "scaleSetEvictionPolicy": "Delete", - "spotMaxPrice": -1 + "scaleSetPriority": "Spot", + "spotMaxPrice": -1, + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Spot Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines.json index 65aee3b9fd97..88c10173e0b4 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines.json @@ -1,139 +1,141 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "1.9.6", - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "type": "VirtualMachines", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "tags": { + "name1": "val1" + }, "virtualMachinesProfile": { "scale": { "manual": [ { - "size": "Standard_D2_v2", - "count": 3 + "count": 3, + "size": "Standard_D2_v2" }, { - "size": "Standard_D2_v3", - "count": 2 + "count": 2, + "size": "Standard_D2_v3" } ] } } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", + "type": "VirtualMachines", "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ], "virtualMachinesProfile": { "scale": { "manual": [ { - "size": "Standard_D2_v2", - "count": 3 + "count": 3, + "size": "Standard_D2_v2" }, { - "size": "Standard_D2_v3", - "count": 2 + "count": 2, + "size": "Standard_D2_v3" } ] } - }, - "virtualMachineNodesStatus": [ - { - "size": "Standard_D2_v2", - "count": 3 - }, - { - "size": "Standard_D2_v3", - "count": 2 - } - ], - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11" + } } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", + "type": "VirtualMachines", "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ], "virtualMachinesProfile": { "scale": { "manual": [ { - "size": "Standard_D2_v2", - "count": 3 + "count": 3, + "size": "Standard_D2_v2" }, { - "size": "Standard_D2_v3", - "count": 2 + "count": 2, + "size": "Standard_D2_v3" } ] } - }, - "virtualMachineNodesStatus": [ - { - "size": "Standard_D2_v2", - "count": 3 - }, - { - "size": "Standard_D2_v3", - "count": 2 - } - ], - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11" + } } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with VirtualMachines pool type" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json index 6ddaaac0e67a..9c293cbed90b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json @@ -1,116 +1,118 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "1.29.0", - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "type": "VirtualMachines", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.29.0", + "osType": "Linux", + "tags": { + "name1": "val1" + }, "virtualMachinesProfile": { "scale": { "autoscale": { - "size": "Standard_D2_v2", + "maxCount": 5, "minCount": 1, - "maxCount": 5 + "size": "Standard_D2_v2" } } } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.29.0", + "type": "VirtualMachines", "currentOrchestratorVersion": "1.29.0", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.29.0", + "osType": "Linux", + "provisioningState": "Succeeded", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 1, + "size": "Standard_D2_v2" + } + ], "virtualMachinesProfile": { "scale": { "autoscale": { - "size": "Standard_D2_v2", + "maxCount": 5, "minCount": 1, - "maxCount": 5 + "size": "Standard_D2_v2" } } - }, - "virtualMachineNodesStatus": [ - { - "size": "Standard_D2_v2", - "count": 1 - } - ], - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11" + } } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.29.0", + "type": "VirtualMachines", "currentOrchestratorVersion": "1.29.0", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.29.0", + "osType": "Linux", + "provisioningState": "Creating", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 1, + "size": "Standard_D2_v2" + } + ], "virtualMachinesProfile": { "scale": { "autoscale": { - "size": "Standard_D2_v2", + "maxCount": 5, "minCount": 1, - "maxCount": 5 + "size": "Standard_D2_v2" } } - }, - "virtualMachineNodesStatus": [ - { - "size": "Standard_D2_v2", - "count": 1 - } - ], - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11" + } } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with VirtualMachines pool type with autoscaling enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Update.json index 471e23eda44e..d657e6c5c3ee 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_Update.json @@ -1,87 +1,89 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "mode": "User", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "", + "osType": "Linux", "scaleSetEvictionPolicy": "Delete", - "mode": "User" + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS1_v2", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", "scaleSetEvictionPolicy": "Delete", - "mode": "User", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "mode": "User", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", "scaleSetEvictionPolicy": "Delete", - "mode": "User" + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create/Update Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WasmWasi.json index ec8949ba1c76..5339fa25f524 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WasmWasi.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WasmWasi.json @@ -1,60 +1,62 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "osDiskSizeGB": 64, "mode": "User", + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osType": "Linux", + "vmSize": "Standard_DS2_v2", "workloadRuntime": "WasmWasi" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", - "osDiskSizeGB": 64, "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2", "workloadRuntime": "WasmWasi" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", - "osDiskSizeGB": 64, "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2", "workloadRuntime": "WasmWasi" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Krustlet and the WASI runtime" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json index 87457d437532..90d30b940f7c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json @@ -1,38 +1,38 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "wnp2", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "1.23.8", "count": 3, - "vmSize": "Standard_D4s_v3", - "osType": "Windows", + "orchestratorVersion": "1.23.8", "osSKU": "Windows2022", + "osType": "Windows", + "vmSize": "Standard_D4s_v3", "windowsProfile": { "disableOutboundNat": true } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.23.8", - "currentOrchestratorVersion": "1.23.8", "count": 3, - "vmSize": "Standard_D4s_v3", + "currentOrchestratorVersion": "1.23.8", "maxPods": 110, - "osType": "Windows", + "orchestratorVersion": "1.23.8", "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Succeeded", + "vmSize": "Standard_D4s_v3", "windowsProfile": { "disableOutboundNat": true } @@ -41,23 +41,25 @@ }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.23.8", - "currentOrchestratorVersion": "1.23.8", "count": 3, - "vmSize": "Standard_D4s_v3", + "currentOrchestratorVersion": "1.23.8", "maxPods": 110, - "osType": "Windows", + "orchestratorVersion": "1.23.8", "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Creating", + "vmSize": "Standard_D4s_v3", "windowsProfile": { "disableOutboundNat": true } } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Windows Agent Pool with disabling OutboundNAT" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json index 72e0a5638954..17a6b9420104 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "wnp2", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "1.23.3", "count": 3, - "vmSize": "Standard_D4s_v3", + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", "osType": "Windows", - "osSKU": "Windows2022" + "vmSize": "Standard_D4s_v3" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.23.3", - "currentOrchestratorVersion": "1.23.3", "count": 3, - "vmSize": "Standard_D4s_v3", + "currentOrchestratorVersion": "1.23.3", "maxPods": 110, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", "osType": "Windows", - "osSKU": "Windows2022" + "provisioningState": "Succeeded", + "vmSize": "Standard_D4s_v3" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.23.3", - "currentOrchestratorVersion": "1.23.3", "count": 3, - "vmSize": "Standard_D4s_v3", + "currentOrchestratorVersion": "1.23.3", "maxPods": 110, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", "osType": "Windows", - "osSKU": "Windows2022" + "provisioningState": "Creating", + "vmSize": "Standard_D4s_v3" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Windows OSSKU" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDelete.json index 231f89f026ce..1ffb96de0b20 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDelete.json @@ -1,10 +1,10 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "AgentPools_Delete", + "title": "Delete Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDeleteMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDeleteMachines.json index d0cbefdb4d7b..4196a62e06a7 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDeleteMachines.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDeleteMachines.json @@ -1,16 +1,16 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "machines": { "machineNames": [ "aks-nodepool1-42263519-vmss00000a", "aks-nodepool1-42263519-vmss00000b" ] - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -18,5 +18,7 @@ "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } } - } + }, + "operationId": "AgentPools_DeleteMachines", + "title": "Delete Specific Machines in an Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json index da93264d227c..3a3639abf814 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json @@ -1,11 +1,11 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "ignorePodDisruptionBudget": true, "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1", - "ignorePodDisruptionBudget": true + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -14,5 +14,7 @@ } }, "204": {} - } + }, + "operationId": "AgentPools_Delete", + "title": "Delete Agent Pool by ignoring PodDisruptionBudget" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGet.json index d2eb8775907d..65cd289f88da 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGet.json @@ -1,31 +1,33 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "eTag": "ebwiyfneowv", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", + "eTag": "ebwiyfneowv", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", "upgradeSettings": { "maxSurge": "33%" - } + }, + "vmSize": "Standard_DS1_v2" } } } - } + }, + "operationId": "AgentPools_Get", + "title": "Get Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json index fa8d38b5fb1e..8a4680af3ff1 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -1,15 +1,16 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", "name": "default", + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", "properties": { "agentPoolVersions": [ { @@ -20,13 +21,14 @@ }, { "default": true, - "kubernetesVersion": "1.13.5", - "isPreview": true + "isPreview": true, + "kubernetesVersion": "1.13.5" } ] - }, - "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions" + } } } - } + }, + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "title": "Get available versions for agent pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGetUpgradeProfile.json index 1e9196f74058..b6755c3510c3 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGetUpgradeProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsGetUpgradeProfile.json @@ -1,28 +1,30 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", "name": "default", + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", "properties": { "kubernetesVersion": "1.12.8", + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11", "osType": "Linux", "upgrades": [ { "kubernetesVersion": "1.13.5" } - ], - "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" - }, - "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + ] + } } } - } + }, + "operationId": "AgentPools_GetUpgradeProfile", + "title": "Get Upgrade Profile for Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsList.json index 6436177daef2..0edd790463e3 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsList.json @@ -1,31 +1,33 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", + "eTag": "ewnfuib", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "eTag": "ewnfuib" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } } ] } } - } + }, + "operationId": "AgentPools_List", + "title": "List Agent Pools by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json index 32143a0309b0..6177729a4183 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -1,34 +1,36 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, "202": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" - }, "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "UpgradingNodeImageVersion", "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "UpgradingNodeImageVersion", "upgradeSettings": { "maxSurge": "33%" - } + }, + "vmSize": "Standard_DS1_v2" } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" } } - } + }, + "operationId": "AgentPools_UpgradeNodeImageVersion", + "title": "Upgrade Agent Pool Node Image Version" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Start.json index fb2941562f8e..e01863049605 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Start.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Start.json @@ -1,52 +1,54 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { "powerState": { "code": "Running" } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Starting", "count": 50, "enableAutoScaling": true, - "minCount": 3, "maxCount": 55, + "minCount": 3, "powerState": { "code": "Running" - } + }, + "provisioningState": "Starting" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Starting", "count": 50, "enableAutoScaling": true, - "minCount": 3, "maxCount": 55, + "minCount": 3, "powerState": { "code": "Running" - } + }, + "provisioningState": "Starting" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Start Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Stop.json index 0cfbec087d43..b8b62309dedb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Stop.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Stop.json @@ -1,52 +1,54 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { "powerState": { "code": "Stopped" } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Stopping", "count": 0, "enableAutoScaling": false, - "minCount": null, "maxCount": null, + "minCount": null, "powerState": { "code": "Stopped" - } + }, + "provisioningState": "Stopping" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Stopping", "count": 0, "enableAutoScaling": false, - "minCount": null, "maxCount": null, + "minCount": null, "powerState": { "code": "Stopped" - } + }, + "provisioningState": "Stopping" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Stop Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Update.json index 53eeaa66e8eb..078f16acfd6b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/AgentPools_Update.json @@ -1,75 +1,77 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, "enableAutoScaling": true, - "minCount": 2, "maxCount": 2, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", + "minCount": 2, "nodeTaints": [ "Key1=Value1:NoSchedule" ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", "scaleSetPriority": "Spot", - "scaleSetEvictionPolicy": "Delete" + "vmSize": "Standard_DS1_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableAutoScaling": true, - "minCount": 2, "maxCount": 2, - "vmSize": "Standard_DS1_v2", "maxPods": 110, - "osType": "Linux", + "minCount": 2, "nodeTaints": [ "Key1=Value1:NoSchedule" ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleSetEvictionPolicy": "Delete", "scaleSetPriority": "Spot", - "scaleSetEvictionPolicy": "Delete" + "vmSize": "Standard_DS1_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Updating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableAutoScaling": true, - "minCount": 2, "maxCount": 2, - "vmSize": "Standard_DS1_v2", "maxPods": 110, - "osType": "Linux", + "minCount": 2, "nodeTaints": [ "Key1=Value1:NoSchedule" ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Updating", + "scaleSetEvictionPolicy": "Delete", "scaleSetPriority": "Spot", - "scaleSetEvictionPolicy": "Delete" + "vmSize": "Standard_DS1_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Update Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/GetGuardrailsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/GetGuardrailsVersions.json index 4cb5b9b36194..20aab1712d83 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/GetGuardrailsVersions.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/GetGuardrailsVersions.json @@ -1,21 +1,23 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "version": "v1.0.0" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/guardrailsVersions/v1.0.0", - "type": "Microsoft.ContainerService/locations/guardrailsVersions", "name": "v1.0.0", + "type": "Microsoft.ContainerService/locations/guardrailsVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/guardrailsVersions/v1.0.0", "properties": { "isDefaultVersion": true, "support": "Preview" } } } - } + }, + "operationId": "ManagedClusters_GetGuardrailsVersions", + "title": "Get guardrails available versions" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/GetSafeguardsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/GetSafeguardsVersions.json index 3ad758721103..a0b903305b43 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/GetSafeguardsVersions.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/GetSafeguardsVersions.json @@ -1,21 +1,23 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "version": "v1.0.0" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/safeguardsVersions/v1.0.0", - "type": "Microsoft.ContainerService/locations/safeguardsVersions", "name": "v1.0.0", + "type": "Microsoft.ContainerService/locations/safeguardsVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/safeguardsVersions/v1.0.0", "properties": { "isDefaultVersion": true, "support": "Preview" } } } - } + }, + "operationId": "ManagedClusters_GetSafeguardsVersions", + "title": "Get Safeguards available versions" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Create_Or_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Create_Or_Update.json index e27edbc90580..44ef26301d11 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Create_Or_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Create_Or_Update.json @@ -1,9 +1,6 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "identityBindingName": "identitybinding1", "parameters": { "properties": { @@ -11,48 +8,53 @@ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", - "type": "Microsoft.ContainerService/managedClusters/identityBindings", "name": "identitybinding1", + "type": "Microsoft.ContainerService/managedClusters/identityBindings", + "eTag": "string", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", "properties": { "managedIdentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", - "objectId": "00000000-0000-0000-0000-000000000000", "clientId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", "tenantId": "00000000-0000-0000-0000-000000000000" }, "oidcIssuer": { "oidcIssuerUrl": "https://oidc-endpoint" }, "provisioningState": "Succeeded" - }, - "eTag": "string" + } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", - "type": "Microsoft.ContainerService/managedClusters/identityBindings", "name": "identitybinding1", + "type": "Microsoft.ContainerService/managedClusters/identityBindings", + "eTag": "string", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", "properties": { "managedIdentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", - "objectId": "00000000-0000-0000-0000-000000000000", "clientId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", "tenantId": "00000000-0000-0000-0000-000000000000" }, "oidcIssuer": { "oidcIssuerUrl": "https://oidc-endpoint" }, "provisioningState": "Succeeded" - }, - "eTag": "string" + } } } - } + }, + "operationId": "IdentityBindings_CreateOrUpdate", + "title": "Create or update Identity Binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Delete.json index 38ef4bc0e10c..f9425852876d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Delete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Delete.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "identityBindingName": "identitybinding1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "identityBindingName": "identitybinding1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "IdentityBindings_Delete", + "title": "Delete Identity Binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Get.json index b7564a87e4c4..013537551d0c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Get.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_Get.json @@ -1,31 +1,33 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "identityBindingName": "identitybinding1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "identityBindingName": "identitybinding1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", - "type": "Microsoft.ContainerService/managedClusters/identityBindings", "name": "identitybinding1", + "type": "Microsoft.ContainerService/managedClusters/identityBindings", + "eTag": "string", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", "properties": { "managedIdentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", - "objectId": "00000000-0000-0000-0000-000000000000", "clientId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", "tenantId": "00000000-0000-0000-0000-000000000000" }, "oidcIssuer": { "oidcIssuerUrl": "https://oidc-endpoint" }, "provisioningState": "Succeeded" - }, - "eTag": "string" + } } } - } + }, + "operationId": "IdentityBindings_Get", + "title": "Get Identity Binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_List.json index f94d9d641cc9..3488ad6a99e0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/IdentityBindings_List.json @@ -1,34 +1,36 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", - "type": "Microsoft.ContainerService/managedClusters/identityBindings", "name": "identitybinding1", + "type": "Microsoft.ContainerService/managedClusters/identityBindings", + "eTag": "string", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/identityBindings/identitybinding1", "properties": { "managedIdentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", - "objectId": "00000000-0000-0000-0000-000000000000", "clientId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1", "tenantId": "00000000-0000-0000-0000-000000000000" }, "oidcIssuer": { "oidcIssuerUrl": "https://oidc-endpoint" }, "provisioningState": "Succeeded" - }, - "eTag": "string" + } } ] } } - } + }, + "operationId": "IdentityBindings_ListByManagedCluster", + "title": "List Identity Bindings by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Create_Or_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Create_Or_Update.json index 89f4d3b4a995..4a8fd0c69351 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Create_Or_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Create_Or_Update.json @@ -1,18 +1,22 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "jwtAuthenticatorName": "jwt1", "parameters": { "properties": { - "issuer": { - "url": "https://example.com", - "audiences": [ - "https://example.com/audience1", - "https://example.com/audience2" - ] + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } }, "claimValidationRules": [ { @@ -24,19 +28,12 @@ "message": "Sub cannot be empty" } ], - "claimMappings": { - "username": { - "expression": "'aks:jwt:' + claims.sub" - }, - "groups": { - "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" - }, - "extra": [ - { - "key": "example.com/extrakey", - "valueExpression": "claims.customfield" - } - ] + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" }, "userValidationRules": [ { @@ -45,22 +42,31 @@ } ] } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", - "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", "name": "jwt1", + "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", "properties": { - "provisioningState": "Succeeded", - "issuer": { - "url": "https://example.com", - "audiences": [ - "https://example.com/audience1", - "https://example.com/audience2" - ] + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } }, "claimValidationRules": [ { @@ -72,20 +78,14 @@ "message": "Sub cannot be empty" } ], - "claimMappings": { - "username": { - "expression": "'aks:jwt:' + claims.sub" - }, - "groups": { - "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" - }, - "extra": [ - { - "key": "example.com/extrakey", - "valueExpression": "claims.customfield" - } - ] + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" }, + "provisioningState": "Succeeded", "userValidationRules": [ { "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", @@ -97,17 +97,23 @@ }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", - "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", "name": "jwt1", + "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", "properties": { - "provisioningState": "Succeeded", - "issuer": { - "url": "https://example.com", - "audiences": [ - "https://example.com/audience1", - "https://example.com/audience2" - ] + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } }, "claimValidationRules": [ { @@ -119,20 +125,14 @@ "message": "Sub cannot be empty" } ], - "claimMappings": { - "username": { - "expression": "'aks:jwt:' + claims.sub" - }, - "groups": { - "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" - }, - "extra": [ - { - "key": "example.com/extrakey", - "valueExpression": "claims.customfield" - } - ] + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" }, + "provisioningState": "Succeeded", "userValidationRules": [ { "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", @@ -142,5 +142,7 @@ } } } - } + }, + "operationId": "JWTAuthenticators_CreateOrUpdate", + "title": "Create or update JWT Authenticator" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Delete.json index 21f901696153..8a8b56e9110c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Delete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Delete.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "jwtAuthenticatorName": "jwt1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "jwtAuthenticatorName": "jwt1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "JWTAuthenticators_Delete", + "title": "Delete JWT Authenticator" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Get.json index ee1915799782..eecbc1681faf 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Get.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_Get.json @@ -1,25 +1,31 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "jwtAuthenticatorName": "jwt1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "jwtAuthenticatorName": "jwt1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", - "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", "name": "jwt1", + "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", "properties": { - "provisioningState": "Succeeded", - "issuer": { - "url": "https://example.com", - "audiences": [ - "https://example.com/audience1", - "https://example.com/audience2" - ] + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } }, "claimValidationRules": [ { @@ -31,20 +37,14 @@ "message": "Sub cannot be empty" } ], - "claimMappings": { - "username": { - "expression": "'aks:jwt:' + claims.sub" - }, - "groups": { - "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" - }, - "extra": [ - { - "key": "example.com/extrakey", - "valueExpression": "claims.customfield" - } - ] + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" }, + "provisioningState": "Succeeded", "userValidationRules": [ { "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", @@ -54,5 +54,7 @@ } } } - } + }, + "operationId": "JWTAuthenticators_Get", + "title": "Get JWT Authenticator" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_List.json index 66b8f558e8c2..bfc2b732921e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/JWTAuthenticators_List.json @@ -1,26 +1,32 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", - "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", "name": "jwt1", + "type": "Microsoft.ContainerService/managedClusters/jwtAuthenticators", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/jwtAuthenticators/jwt1", "properties": { - "provisioningState": "Succeeded", - "issuer": { - "url": "https://example.com", - "audiences": [ - "https://example.com/audience1", - "https://example.com/audience2" - ] + "claimMappings": { + "extra": [ + { + "key": "example.com/extrakey", + "valueExpression": "claims.customfield" + } + ], + "groups": { + "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" + }, + "username": { + "expression": "'aks:jwt:' + claims.sub" + } }, "claimValidationRules": [ { @@ -32,20 +38,14 @@ "message": "Sub cannot be empty" } ], - "claimMappings": { - "username": { - "expression": "'aks:jwt:' + claims.sub" - }, - "groups": { - "expression": "claims.groups.split(',').map(group, 'aks:jwt:' + group)" - }, - "extra": [ - { - "key": "example.com/extrakey", - "valueExpression": "claims.customfield" - } - ] + "issuer": { + "audiences": [ + "https://example.com/audience1", + "https://example.com/audience2" + ], + "url": "https://example.com" }, + "provisioningState": "Succeeded", "userValidationRules": [ { "expression": "user.groups.all(group, group.startsWith('aks:jwt:admin:'))", @@ -57,5 +57,7 @@ ] } } - } + }, + "operationId": "JWTAuthenticators_ListByManagedCluster", + "title": "List JWT authenticators by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/KubernetesVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/KubernetesVersions_List.json index 8e4f4482e83d..e18f3ee32fd5 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/KubernetesVersions_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/KubernetesVersions_List.json @@ -1,15 +1,14 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "location1" + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "values": [ { - "version": "1.23", "capabilities": { "supportPlan": [ "KubernetesOfficial" @@ -29,16 +28,16 @@ "1.24.9" ] } - } + }, + "version": "1.23" }, { - "version": "1.24", - "isDefault": true, "capabilities": { "supportPlan": [ "KubernetesOfficial" ] }, + "isDefault": true, "patchVersions": { "1.24.6": { "upgrades": [ @@ -53,10 +52,10 @@ "1.25.5" ] } - } + }, + "version": "1.24" }, { - "version": "1.25", "capabilities": { "supportPlan": [ "KubernetesOfficial" @@ -74,24 +73,27 @@ "1.26.0" ] } - } + }, + "version": "1.25" }, { - "version": "1.26", - "isPreview": true, "capabilities": { "supportPlan": [ "KubernetesOfficial" ] }, + "isPreview": true, "patchVersions": { "1.26.0": { "upgrades": [] } - } + }, + "version": "1.26" } ] } } - } + }, + "operationId": "ManagedClusters_ListKubernetesVersions", + "title": "List Kubernetes Versions" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ListGuardrailsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ListGuardrailsVersions.json index 7e1c8acd4ad5..889339962763 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ListGuardrailsVersions.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ListGuardrailsVersions.json @@ -1,17 +1,17 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "location1" + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/guardrailsVersions/v1.0.0", - "type": "Microsoft.ContainerService/locations/guardrailsVersions", "name": "v1.0.0", + "type": "Microsoft.ContainerService/locations/guardrailsVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/guardrailsVersions/v1.0.0", "properties": { "isDefaultVersion": true, "support": "Preview" @@ -20,5 +20,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListGuardrailsVersions", + "title": "List Guardrails Versions" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ListSafeguardsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ListSafeguardsVersions.json index d7a438fd9000..e8cdd6996d9d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ListSafeguardsVersions.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ListSafeguardsVersions.json @@ -1,17 +1,17 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "location1" + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/safeguardsVersions/v1.0.0", - "type": "Microsoft.ContainerService/locations/safeguardsVersions", "name": "v1.0.0", + "type": "Microsoft.ContainerService/locations/safeguardsVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/safeguardsVersions/v1.0.0", "properties": { "isDefaultVersion": true, "support": "Preview" @@ -20,5 +20,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListSafeguardsVersions", + "title": "List Safeguards Versions" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Create_Or_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Create_Or_Update.json index f6ab4ce5b881..8ef0e747280c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Create_Or_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Create_Or_Update.json @@ -1,16 +1,16 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "loadBalancerName": "kubernetes", "parameters": { "properties": { - "primaryAgentPoolName": "agentpool1", - "allowServicePlacement": true + "allowServicePlacement": true, + "primaryAgentPoolName": "agentpool1" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -18,8 +18,8 @@ "name": "kubernetes", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes", "properties": { - "primaryAgentPoolName": "agentPool1", "allowServicePlacement": true, + "primaryAgentPoolName": "agentPool1", "provisioningState": "Succeeded" } } @@ -29,11 +29,13 @@ "name": "kubernetes", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes", "properties": { - "primaryAgentPoolName": "agentPool1", "allowServicePlacement": true, + "primaryAgentPoolName": "agentPool1", "provisioningState": "Succeeded" } } } - } + }, + "operationId": "LoadBalancers_CreateOrUpdate", + "title": "Create or update a Load Balancer" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Delete.json index 3021b1254fa6..46c27f971fd5 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Delete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Delete.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "loadBalancerName": "kubernetes", "resourceGroupName": "rg1", "resourceName": "clustername1", - "loadBalancerName": "kubernetes" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "LoadBalancers_Delete", + "title": "Delete a Load Balancer" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Get.json index 7a156a3e0f1f..f2b4d978beb1 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Get.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Get.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "loadBalancerName": "kubernetes", "resourceGroupName": "rg1", "resourceName": "clustername1", - "loadBalancerName": "kubernetes" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -12,11 +12,13 @@ "name": "kubernetes", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes", "properties": { - "primaryAgentPoolName": "agentPool1", "allowServicePlacement": true, + "primaryAgentPoolName": "agentPool1", "provisioningState": "Succeeded" } } } - } + }, + "operationId": "LoadBalancers_Get", + "title": "Get Load Balancer" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_List.json index 5737b284bd14..64c53e83eb73 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_List.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -13,13 +13,15 @@ "name": "kubernetes", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes", "properties": { - "primaryAgentPoolName": "agentPool1", "allowServicePlacement": true, + "primaryAgentPoolName": "agentPool1", "provisioningState": "Succeeded" } } ] } } - } + }, + "operationId": "LoadBalancers_ListByManagedCluster", + "title": "List Load Balancers by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Rebalance.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Rebalance.json index 22d103a141c1..4b2b5f0ab466 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Rebalance.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/LoadBalancers_Rebalance.json @@ -1,14 +1,14 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "loadBalancerNames": [ "kubernetes" ] - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -16,5 +16,7 @@ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2025-10-02-preview" } } - } + }, + "operationId": "ManagedClusters_RebalanceLoadBalancers", + "title": "List Agent Pools by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineCreate_Update.json index ee4016291c68..a96066a32294 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineCreate_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineCreate_Update.json @@ -1,133 +1,132 @@ { "parameters": { - "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-02-preview", "machineName": "machine1", "parameters": { - "zones": [ - "1" - ], "properties": { - "operatingSystem": { - "osType": "Linux", - "osSKU": "Ubuntu", - "enableFIPS": false - }, "hardware": { "vmSize": "Standard_DS1_v2" }, "kubernetes": { - "orchestratorVersion": "1.30", + "kubeletDiskType": "OS", + "maxPods": 110, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "kubeletDiskType": "OS", - "maxPods": 110 + "orchestratorVersion": "1.30" }, - "tags": { - "name1": "val1" + "mode": "User", + "operatingSystem": { + "enableFIPS": false, + "osSKU": "Ubuntu", + "osType": "Linux" }, "priority": "Spot", - "mode": "User" + "tags": { + "name1": "val1" + } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1", - "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", "name": "machine1", - "zones": [ - "1" - ], + "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1", "properties": { - "provisioningState": "Succeeded", - "operatingSystem": { - "osType": "Linux", - "osSKU": "Ubuntu", - "enableFIPS": false - }, "hardware": { "vmSize": "Standard_DS1_v2" }, "kubernetes": { - "orchestratorVersion": "1.30", "currentOrchestratorVersion": "1.30.6", + "kubeletDiskType": "OS", + "maxPods": 110, "nodeLabels": { "key1": "val1" }, + "nodeName": "aks-nodepool1-machine1-25481572-vm0", "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "kubeletDiskType": "OS", - "maxPods": 110, - "nodeName": "aks-nodepool1-machine1-25481572-vm0" + "orchestratorVersion": "1.30" }, - "tags": { - "name1": "val1" + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2023.03.11", + "operatingSystem": { + "enableFIPS": false, + "osSKU": "Ubuntu", + "osType": "Linux" }, + "priority": "Spot", + "provisioningState": "Succeeded", "status": { "creationTimestamp": "2025-04-02T12:00:00Z", "driftAction": "Synced", "vmState": "Running" }, - "priority": "Spot", - "mode": "User", - "nodeImageVersion": "AKSUbuntu:1604:2023.03.11" - } + "tags": { + "name1": "val1" + } + }, + "zones": [ + "1" + ] } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1", - "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", "name": "machine1", - "zones": [ - "1" - ], + "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1", "properties": { - "provisioningState": "Creating", - "operatingSystem": { - "osType": "Linux", - "osSKU": "Ubuntu", - "enableFIPS": false - }, "hardware": { "vmSize": "Standard_DS1_v2" }, "kubernetes": { - "orchestratorVersion": "1.30", "currentOrchestratorVersion": "1.30.6", + "kubeletDiskType": "OS", + "maxPods": 110, "nodeLabels": { "key1": "val1" }, + "nodeName": "aks-nodepool1-machine1-25481572-vm0", "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "kubeletDiskType": "OS", - "maxPods": 110, - "nodeName": "aks-nodepool1-machine1-25481572-vm0" + "orchestratorVersion": "1.30" }, - "tags": { - "name1": "val1" + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2023.03.11", + "operatingSystem": { + "enableFIPS": false, + "osSKU": "Ubuntu", + "osType": "Linux" }, + "priority": "Spot", + "provisioningState": "Creating", "status": { "creationTimestamp": "2025-04-02T12:00:00Z", "driftAction": "Synced", "vmState": "Running" }, - "priority": "Spot", - "mode": "User", - "nodeImageVersion": "AKSUbuntu:1604:2023.03.11" - } + "tags": { + "name1": "val1" + } + }, + "zones": [ + "1" + ] } } - } + }, + "operationId": "Machines_CreateOrUpdate", + "title": "Create/Update Machine" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineGet.json index 023581638499..2b7fd2886391 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineGet.json @@ -1,56 +1,58 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "machineName": "aks-nodepool1-42263519-vmss00000t", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1", - "machineName": "aks-nodepool1-42263519-vmss00000t" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", "name": "aks-nodepool1-25481572-vmss000000", "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", - "zones": [ - "1" - ], + "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", "properties": { - "network": { - "ipAddresses": [ - { - "ip": "172.20.2.4", - "family": "IPv4" - }, - { - "ip": "10.0.0.1", - "family": "IPv4" - } - ] + "hardware": { + "vmSize": "Standard_DS1_v2" }, - "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0", - "provisioningState": "Succeeded", "kubernetes": { - "orchestratorVersion": "1.30", "currentOrchestratorVersion": "1.30.6", + "kubeletDiskType": "OS", + "maxPods": 110, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "kubeletDiskType": "OS", - "maxPods": 110 + "orchestratorVersion": "1.30" }, - "hardware": { - "vmSize": "Standard_DS1_v2" + "mode": "User", + "network": { + "ipAddresses": [ + { + "family": "IPv4", + "ip": "172.20.2.4" + }, + { + "family": "IPv4", + "ip": "10.0.0.1" + } + ] }, + "nodeImageVersion": "AKSUbuntu:1604:2023.03.11", "priority": "Spot", - "mode": "User", - "nodeImageVersion": "AKSUbuntu:1604:2023.03.11" - } + "provisioningState": "Succeeded", + "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0" + }, + "zones": [ + "1" + ] } } - } + }, + "operationId": "Machines_Get", + "title": "Get a Machine in an Agent Pools by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineList.json index a7da035c9c13..c695ea58bf4f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MachineList.json @@ -1,60 +1,62 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { + "nextLink": "http://xxxx.azure.com?encodedToken=c2tpcFRva2VuPTE", "value": [ { - "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", "name": "aks-nodepool1-25481572-vmss000000", "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", - "zones": [ - "1" - ], + "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", "properties": { - "network": { - "ipAddresses": [ - { - "ip": "172.20.2.4", - "family": "IPv4" - }, - { - "ip": "10.0.0.1", - "family": "IPv4" - } - ] + "hardware": { + "vmSize": "Standard_DS1_v2" }, - "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0", - "provisioningState": "Succeeded", "kubernetes": { - "orchestratorVersion": "1.30", "currentOrchestratorVersion": "1.30.6", + "kubeletDiskType": "OS", + "maxPods": 110, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "kubeletDiskType": "OS", - "maxPods": 110 + "orchestratorVersion": "1.30" }, - "hardware": { - "vmSize": "Standard_DS1_v2" + "mode": "User", + "network": { + "ipAddresses": [ + { + "family": "IPv4", + "ip": "172.20.2.4" + }, + { + "family": "IPv4", + "ip": "10.0.0.1" + } + ] }, + "nodeImageVersion": "AKSUbuntu:1604:2023.03.11", "priority": "Spot", - "mode": "User", - "nodeImageVersion": "AKSUbuntu:1604:2023.03.11" - } + "provisioningState": "Succeeded", + "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0" + }, + "zones": [ + "1" + ] } - ], - "nextLink": "http://xxxx.azure.com?encodedToken=c2tpcFRva2VuPTE" + ] } } - } + }, + "operationId": "Machines_List", + "title": "List Machines in an Agentpool by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json index 4a3554453ecf..e071cb00e4fb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json @@ -1,116 +1,118 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "configName": "aksManagedAutoUpgradeSchedule", "parameters": { "properties": { "maintenanceWindow": { + "durationHours": 10, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], "schedule": { "relativeMonthly": { + "dayOfWeek": "Monday", "intervalMonths": 3, - "weekIndex": "First", - "dayOfWeek": "Monday" + "weekIndex": "First" } }, - "durationHours": 10, - "utcOffset": "+05:30", "startDate": "2023-01-01", "startTime": "08:30", - "notAllowedDates": [ - { - "start": "2023-02-18", - "end": "2023-02-25" - }, - { - "start": "2023-12-23", - "end": "2024-01-05" - } - ] + "utcOffset": "+05:30" } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", - "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", "name": "aksManagedAutoUpgradeSchedule", - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2020-01-01T17:18:19.1234567Z", - "lastModifiedBy": "user2", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" - }, + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", "properties": { "maintenanceWindow": { - "schedule": { - "weekly": { - "intervalWeeks": 3, - "dayOfWeek": "Monday" - } - }, "durationHours": 10, - "utcOffset": "+05:30", - "startDate": "2023-01-01", - "startTime": "08:30", "notAllowedDates": [ { - "start": "2023-02-18", - "end": "2023-02-25" + "end": "2023-02-25", + "start": "2023-02-18" }, { - "start": "2023-12-23", - "end": "2024-01-05" + "end": "2024-01-05", + "start": "2023-12-23" } - ] + ], + "schedule": { + "weekly": { + "dayOfWeek": "Monday", + "intervalWeeks": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" } + }, + "systemData": { + "createdAt": "2020-01-01T17:18:19.1234567Z", + "createdBy": "user1", + "createdByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", - "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", "name": "aksManagedAutoUpgradeSchedule", - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2020-01-01T17:18:19.1234567Z", - "lastModifiedBy": "user2", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" - }, + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", "properties": { "maintenanceWindow": { - "schedule": { - "weekly": { - "intervalWeeks": 3, - "dayOfWeek": "Monday" - } - }, "durationHours": 10, - "utcOffset": "+05:30", - "startDate": "2023-01-01", - "startTime": "08:30", "notAllowedDates": [ { - "start": "2023-02-18", - "end": "2023-02-25" + "end": "2023-02-25", + "start": "2023-02-18" }, { - "start": "2023-12-23", - "end": "2024-01-05" + "end": "2024-01-05", + "start": "2023-12-23" } - ] + ], + "schedule": { + "weekly": { + "dayOfWeek": "Monday", + "intervalWeeks": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" } + }, + "systemData": { + "createdAt": "2020-01-01T17:18:19.1234567Z", + "createdBy": "user1", + "createdByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User" } } } - } + }, + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "title": "Create/Update Maintenance Configuration with Maintenance Window" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json index 583f3d60f1b2..6217e72211c0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json @@ -1,13 +1,15 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "configName": "aksManagedNodeOSUpgradeSchedule", "resourceGroupName": "rg1", "resourceName": "clustername1", - "configName": "aksManagedNodeOSUpgradeSchedule" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "MaintenanceConfigurations_Delete", + "title": "Delete Maintenance Configuration For Node OS Upgrade" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json index a9c17fc77207..2aed9d47472f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json @@ -1,48 +1,50 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "configName": "aksManagedNodeOSUpgradeSchedule", "resourceGroupName": "rg1", "resourceName": "clustername1", - "configName": "aksManagedNodeOSUpgradeSchedule" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", "name": "aksManagedNodeOSUpgradeSchedule", - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2020-01-01T17:18:19.1234567Z", - "lastModifiedBy": "user2", - "lastModifiedByType": "User", - "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" - }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", "properties": { "maintenanceWindow": { + "durationHours": 4, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], "schedule": { "daily": { "intervalDays": 3 } }, - "durationHours": 4, - "utcOffset": "-07:00", "startDate": "2023-01-01", "startTime": "09:30", - "notAllowedDates": [ - { - "start": "2023-02-18", - "end": "2023-02-25" - }, - { - "start": "2023-12-23", - "end": "2024-01-05" - } - ] + "utcOffset": "-07:00" } + }, + "systemData": { + "createdAt": "2020-01-01T17:18:19.1234567Z", + "createdBy": "user1", + "createdByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User" } } } - } + }, + "operationId": "MaintenanceConfigurations_Get", + "title": "Get Maintenance Configuration Configured With Maintenance Window" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json index f670b083feca..cb968737783f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json @@ -1,61 +1,63 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", "name": "aksManagedNodeOSUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", "properties": { "maintenanceWindow": { + "durationHours": 10, "schedule": { "daily": { "intervalDays": 5 } }, - "durationHours": 10, - "utcOffset": "-07:00", "startDate": "2023-01-01", - "startTime": "13:30" + "startTime": "13:30", + "utcOffset": "-07:00" } } }, { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", "name": "aksManagedAutoUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", "properties": { "maintenanceWindow": { - "schedule": { - "absoluteMonthly": { - "intervalMonths": 3, - "dayOfMonth": 15 - } - }, "durationHours": 5, - "utcOffset": "+00:00", - "startDate": "2023-01-01", - "startTime": "08:30", "notAllowedDates": [ { - "start": "2023-02-18", - "end": "2023-02-25" + "end": "2023-02-25", + "start": "2023-02-18" }, { - "start": "2023-12-23", - "end": "2024-01-05" + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "absoluteMonthly": { + "dayOfMonth": 15, + "intervalMonths": 3 } - ] + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+00:00" } } } ] } } - } + }, + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "title": "List maintenance configurations configured with maintenance window by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsCreate.json index 2a7abf52eb53..b2baaaf0d57f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsCreate.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsCreate.json @@ -1,96 +1,98 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "snapshot1", "parameters": { "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" } + }, + "tags": { + "key1": "val1", + "key2": "val2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" }, - "snapshotType": "ManagedCluster", "managedClusterPropertiesReadOnly": { + "enableRbac": true, "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, "sku": { "name": "Basic", "tier": "Free" - }, - "enableRbac": true, - "networkProfile": { - "networkPlugin": "kubenet", - "networkPolicy": "calico", - "networkMode": "bridge", - "loadBalancerSku": "standard" } - } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } }, "201": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" }, - "snapshotType": "ManagedCluster", "managedClusterPropertiesReadOnly": { + "enableRbac": true, "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, "sku": { "name": "Basic", "tier": "Free" - }, - "enableRbac": true, - "networkProfile": { - "networkPlugin": "kubenet", - "networkPolicy": "calico", - "networkMode": "bridge", - "loadBalancerSku": "standard" } - } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "ManagedClusterSnapshots_CreateOrUpdate", + "title": "Create/Update Managed Cluster Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsDelete.json index 4542cbc47455..b497c091bd33 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsDelete.json @@ -1,12 +1,14 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "snapshot1" + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "ManagedClusterSnapshots_Delete", + "title": "Delete Managed Cluster Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsGet.json index f15c0cfbca61..ac235f5bc821 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsGet.json @@ -1,47 +1,49 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "snapshot1" + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" }, - "snapshotType": "ManagedCluster", "managedClusterPropertiesReadOnly": { + "enableRbac": true, "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, "sku": { "name": "Basic", "tier": "Free" - }, - "enableRbac": true, - "networkProfile": { - "networkPlugin": "kubenet", - "networkPolicy": "calico", - "networkMode": "bridge", - "loadBalancerSku": "standard" } - } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "ManagedClusterSnapshots_Get", + "title": "Get Managed Cluster Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsList.json index 89f51de3798a..d11a9cb68c00 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsList.json @@ -9,41 +9,43 @@ "value": [ { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" }, - "snapshotType": "ManagedCluster", "managedClusterPropertiesReadOnly": { + "enableRbac": true, "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, "sku": { "name": "Basic", "tier": "Free" - }, - "enableRbac": true, - "networkProfile": { - "networkPlugin": "kubenet", - "networkPolicy": "calico", - "networkMode": "bridge", - "loadBalancerSku": "standard" } - } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } ] } } - } + }, + "operationId": "ManagedClusterSnapshots_List", + "title": "List Managed Cluster Snapshots" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json index 9ad9940ee67e..45af49186e18 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json @@ -1,8 +1,8 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1" + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -10,41 +10,43 @@ "value": [ { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" }, - "snapshotType": "ManagedCluster", "managedClusterPropertiesReadOnly": { + "enableRbac": true, "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, "sku": { "name": "Basic", "tier": "Free" - }, - "enableRbac": true, - "networkProfile": { - "networkPlugin": "kubenet", - "networkPolicy": "calico", - "networkMode": "bridge", - "loadBalancerSku": "standard" } - } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } ] } } - } + }, + "operationId": "ManagedClusterSnapshots_ListByResourceGroup", + "title": "List Managed Cluster Snapshots by Resource Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json index b24c9d8ce8b2..f333b8c1d685 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json @@ -1,53 +1,55 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "snapshot1", "parameters": { "tags": { "key2": "new-val2", "key3": "val3" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" }, - "snapshotType": "ManagedCluster", "managedClusterPropertiesReadOnly": { + "enableRbac": true, "kubernetesVersion": "1.20.5", + "networkProfile": { + "loadBalancerSku": "standard", + "networkMode": "bridge", + "networkPlugin": "kubenet", + "networkPolicy": "calico" + }, "sku": { "name": "Basic", "tier": "Free" - }, - "enableRbac": true, - "networkProfile": { - "networkPlugin": "kubenet", - "networkPolicy": "calico", - "networkMode": "bridge", - "loadBalancerSku": "standard" } - } + }, + "snapshotType": "ManagedCluster" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "ManagedClusterSnapshots_UpdateTags", + "title": "Update Managed Cluster Snapshot Tags" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersAbortOperation.json index 227f6335cbca..2accf38ac5b4 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersAbortOperation.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersAbortOperation.json @@ -1,17 +1,19 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "204": {}, "202": { "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } - } - } + }, + "204": {} + }, + "operationId": "ManagedClusters_AbortLatestOperation", + "title": "Abort operation on managed cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersAssociate_CRG.json index 2ab09a31cc4d..c5378bc5a771 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersAssociate_CRG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersAssociate_CRG.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", + "count": 3, "enableNodePublicIP": true, "mode": "System", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1" + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,65 +36,70 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -109,38 +110,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -148,47 +125,70 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -199,37 +199,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -237,15 +214,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Associate Managed Cluster with Capacity Reservation Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json index cb52e4d1267e..6fc6a09a53f7 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json @@ -1,33 +1,37 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,72 +43,78 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -115,38 +125,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -154,46 +137,72 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "enableEncryptionAtHost": true + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -204,37 +213,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -242,15 +225,34 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Azure Key Vault Secrets Provider Addon" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_AzureServiceMesh.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_AzureServiceMesh.json index 503d83692e31..c6172500cb01 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_AzureServiceMesh.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_AzureServiceMesh.json @@ -1,33 +1,37 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,100 +43,106 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" - }, - "servicePrincipalProfile": { - "clientId": "clientid", - "secret": "secret" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "serviceMeshProfile": { - "mode": "Istio", "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, "components": { - "ingressGateways": [ + "egressGateways": [ { - "enabled": true, - "mode": "Internal" + "name": "istioegress1", + "enabled": true } ], - "egressGateways": [ + "ingressGateways": [ { "enabled": true, - "name": "istioegress1" + "mode": "Internal" } ] - }, - "certificateAuthority": { - "plugin": { - "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", - "certObjectName": "ca-cert", - "keyObjectName": "ca-key", - "rootCertObjectName": "root-cert", - "certChainObjectName": "cert-chain" - } } - } + }, + "mode": "Istio" }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" }, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -143,38 +153,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -182,77 +165,103 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", "serviceMeshProfile": { - "mode": "Istio", "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, "components": { - "ingressGateways": [ + "egressGateways": [ { - "enabled": true, - "mode": "Internal" + "name": "istioegress1", + "enabled": true } ], - "egressGateways": [ + "ingressGateways": [ { "enabled": true, - "name": "istioegress1" + "mode": "Internal" } ] }, - "certificateAuthority": { - "plugin": { - "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", - "certObjectName": "ca-cert", - "keyObjectName": "ca-key", - "rootCertObjectName": "root-cert", - "certChainObjectName": "cert-chain" - } - }, "revisions": [ "asm-1-17" ] - } + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "enableEncryptionAtHost": true + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -263,37 +272,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -301,46 +284,65 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", "serviceMeshProfile": { - "mode": "Istio", "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, "components": { - "ingressGateways": [ + "egressGateways": [ { - "enabled": true, - "mode": "Internal" + "name": "istioegress1", + "enabled": true } ], - "egressGateways": [ + "ingressGateways": [ { "enabled": true, - "name": "istioegress1" + "mode": "Internal" } ] }, - "certificateAuthority": { - "plugin": { - "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", - "certObjectName": "ca-cert", - "keyObjectName": "ca-key", - "rootCertObjectName": "root-cert", - "certChainObjectName": "cert-chain" - } - }, "revisions": [ "asm-1-17" ] - } + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with Azure Service Mesh" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_CustomCATrustCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_CustomCATrustCertificates.json index 9478b0085351..ffa1cb1b982e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_CustomCATrustCertificates.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_CustomCATrustCertificates.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,69 +35,74 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" - }, - "servicePrincipalProfile": { - "clientId": "clientid", - "secret": "secret" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "securityProfile": { "customCATrustCertificates": [ "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" ] }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -112,43 +113,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "securityProfile": { - "customCATrustCertificates": [ - "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" - ] - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -156,46 +128,74 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -206,42 +206,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "securityProfile": { - "customCATrustCertificates": [ - "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" - ] - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -249,15 +221,45 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with CustomCATrustCertificates populated" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json index 39bd58ca066c..c4652a391262 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,64 +35,69 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -107,38 +108,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -146,46 +123,69 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -196,37 +196,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -234,15 +211,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Dedicated Host Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json index c1d7bca54c2b..b8e7d898556e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json @@ -1,34 +1,32 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,67 +38,72 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "addonProfiles": {}, - "enableRBAC": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -111,41 +114,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -153,48 +129,75 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "supportPlan": "KubernetesOfficial" + "supportPlan": "KubernetesOfficial", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -205,41 +208,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -247,16 +223,42 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "supportPlan": "KubernetesOfficial" + "supportPlan": "KubernetesOfficial", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with RunCommand disabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json index 30c000d740bb..220b3cb7e7ef 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json @@ -1,39 +1,46 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { - "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } }, + "location": "location1", "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -45,85 +52,93 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", + "ipFamilies": [ + "IPv4", + "IPv6" + ], "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } }, - "ipFamilies": [ - "IPv4", - "IPv6" - ] - }, - "autoScalerProfile": { - "balance-similar-node-groups": "true", - "expander": "priority", - "max-node-provision-time": "15m", - "new-pod-scale-up-delay": "1m", - "scale-down-delay-after-add": "15m", - "scan-interval": "20s", - "skip-nodes-with-system-pods": "false" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -134,42 +149,15 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16", - "fd11:1234::/64" - ], - "serviceCidrs": [ - "10.0.0.0/16", - "fd00:1234::/108" - ], "ipFamilies": [ "IPv4", "IPv6" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2, - "countIPv6": 1 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -180,66 +168,87 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ] }, - "autoScalerProfile": { - "balance-similar-node-groups": "true", - "expander": "priority", - "max-node-provision-time": "15m", - "new-pod-scale-up-delay": "1m", - "scale-down-delay-after-add": "15m", - "scan-interval": "20s", - "skip-nodes-with-system-pods": "false" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -250,41 +259,15 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16", - "fd11:1234::/64" - ], - "serviceCidrs": [ - "10.0.0.0/16", - "fd00:1234::/108" - ], "ipFamilies": [ "IPv4", "IPv6" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2, - "countIPv6": 1 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -295,24 +278,43 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with dual-stack networking" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableAIToolchainOperator.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableAIToolchainOperator.json index bc5643a360c8..0ed073656bab 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableAIToolchainOperator.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableAIToolchainOperator.json @@ -1,33 +1,27 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "aiToolchainOperatorProfile": { + "enabled": true + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,61 +33,66 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" - }, - "addonProfiles": {}, - "enableRBAC": true, - "aiToolchainOperatorProfile": { - "enabled": true } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "aiToolchainOperatorProfile": { + "enabled": true + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -104,33 +103,14 @@ ] } }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -138,46 +118,65 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "aiToolchainOperatorProfile": { - "enabled": true - } + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "aiToolchainOperatorProfile": { + "enabled": true + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -188,33 +187,14 @@ ] } }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -222,14 +202,36 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "aiToolchainOperatorProfile": { - "enabled": true - } + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with AI Toolchain Operator enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json index 68de0fc45ae3..110506a37ea9 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,65 +36,70 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -109,38 +110,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -148,47 +125,70 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -199,37 +199,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -237,15 +214,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with EncryptionAtHost enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json index 0239279cec7d..0d02806ffe20 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, + "enableUltraSSD": true, "mode": "System", - "enableUltraSSD": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,65 +36,70 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "enableUltraSSD": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableUltraSSD": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -109,38 +110,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -148,47 +125,70 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "enableUltraSSD": true, + "maxPods": 110, "mode": "System", - "enableUltraSSD": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -199,37 +199,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -237,15 +214,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with UltraSSD enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json index adb1326f8454..7fb10e4c05aa 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, "enableNodePublicIP": true, "mode": "System", - "enableFIPS": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,65 +36,70 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableFIPS": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -109,38 +110,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -148,47 +125,70 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableFIPS": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -199,37 +199,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -237,15 +214,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with FIPS enabled OS" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_GPUMIG.json index 7ebe948d362b..eb8827829815 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_GPUMIG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_GPUMIG.json @@ -1,34 +1,39 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_ND96asr_v4", - "osType": "Linux", - "gpuInstanceProfile": "MIG3g", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "gpuInstanceProfile": "MIG3g", + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_ND96asr_v4" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,74 +45,79 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_ND96asr_v4", - "maxPods": 110, - "osType": "Linux", - "gpuInstanceProfile": "MIG3g", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_ND96asr_v4" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -118,38 +128,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -157,56 +143,79 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_ND96asr_v4", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", - "gpuInstanceProfile": "MIG3g", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_ND96asr_v4" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -217,37 +226,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -255,24 +241,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with GPUMIG" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_HTTPProxy.json index 3a0a634fd5ee..8bac7787d193 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_HTTPProxy.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_HTTPProxy.json @@ -1,33 +1,38 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,73 +44,78 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -116,38 +126,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -155,55 +141,78 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -214,37 +223,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -252,24 +238,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with HTTP proxy configured" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json index 943217847177..084c079bd5d6 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json @@ -1,33 +1,27 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "ingressProfile": { + "applicationLoadBalancer": { + "enabled": true + } + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,53 +33,64 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "ingressProfile": { - "applicationLoadBalancer": { - "enabled": true - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -96,38 +101,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -135,49 +116,72 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "ingressProfile": { - "webAppRouting": { - "enabled": true, - "dnsZoneResourceIds": [ - "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" - ] - } + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -188,37 +192,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -226,19 +207,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "ingressProfile": { - "webAppRouting": { - "enabled": true, - "dnsZoneResourceIds": [ - "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" - ] - } + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Application Load Balancer Profile configured" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json index 7424d79df8bd..d5321db6af58 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json @@ -1,33 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,56 +36,64 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "ingressProfile": { - "webAppRouting": { - "enabled": true, - "dnsZoneResourceIds": [ - "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" - ] - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -99,38 +104,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -138,49 +119,72 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "ingressProfile": { - "webAppRouting": { - "enabled": true, - "dnsZoneResourceIds": [ - "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" - ] - } + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -191,37 +195,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -229,19 +210,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "ingressProfile": { - "webAppRouting": { - "enabled": true, - "dnsZoneResourceIds": [ - "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" - ] - } + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Web App Routing Ingress Profile configured" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_MCSnapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_MCSnapshot.json index 38008bffb539..3a7eb9b6639f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_MCSnapshot.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_MCSnapshot.json @@ -1,37 +1,26 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", - "creationData": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" - }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, "enableNodePublicIP": true, "mode": "System", - "enableFIPS": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "dnsPrefix": "dnsprefix1", + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -46,44 +35,51 @@ "clientId": "clientid", "secret": "secret" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "creationData": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" - }, - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableFIPS": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -94,34 +90,14 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -129,45 +105,64 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "creationData": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" - }, - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableFIPS": true, + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "enableFIPS": true + "vmSize": "Standard_DS2_v2" } ], + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -178,33 +173,14 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -212,11 +188,37 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster using a managed cluster snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json index c635a5599d13..4819ce0dde08 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": false, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,63 +36,68 @@ }, "networkProfile": { "loadBalancerSku": "standard", - "outboundType": "managedNATGateway", "natGatewayProfile": { "managedOutboundIPProfile": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "outboundType": "managedNATGateway" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": false, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -107,28 +108,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "managedNATGateway", + "loadBalancerSku": "basic", "natGatewayProfile": { - "idleTimeoutInMinutes": 4, - "managedOutboundIPProfile": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -136,46 +120,62 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + } + }, + "networkPlugin": "kubenet", + "outboundType": "managedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": false, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -186,27 +186,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "loadBalancerSku": "standard", - "outboundType": "managedNATGateway", "natGatewayProfile": { - "idleTimeoutInMinutes": 4, - "managedOutboundIPProfile": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -214,15 +198,33 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + } + }, + "networkPlugin": "kubenet", + "outboundType": "managedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with AKS-managed NAT gateway as outbound type" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_NodeAutoProvisioning.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_NodeAutoProvisioning.json index edd81846cc50..ead83be0ae1d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_NodeAutoProvisioning.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_NodeAutoProvisioning.json @@ -1,33 +1,24 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,58 +30,63 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" - }, - "addonProfiles": {}, - "enableRBAC": true + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -101,33 +97,14 @@ ] } }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -135,43 +112,62 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -182,33 +178,14 @@ ] } }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "networkPlugin": "azure", - "networkPluginMode": "overlay", - "networkDataplane": "cilium", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -216,11 +193,36 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkDataplane": "cilium", + "networkPlugin": "azure", + "networkPluginMode": "overlay", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded" + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Node Auto Provisioning" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json index 94cfa243d75e..3960eb9c0664 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, "mode": "System", - "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,65 +36,70 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -109,38 +110,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -148,47 +125,70 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -199,37 +199,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -237,15 +214,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Node Public IP Prefix" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_OSSKU.json index a08e8da49241..bc8725765b41 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_OSSKU.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_OSSKU.json @@ -1,34 +1,39 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "osSKU": "AzureLinux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osSKU": "AzureLinux", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,74 +45,79 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "osSKU": "AzureLinux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -118,38 +128,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -157,56 +143,79 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, - "osType": "Linux", + "mode": "System", + "orchestratorVersion": "1.9.6", "osSKU": "AzureLinux", + "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -217,37 +226,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -255,24 +241,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with OSSKU" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PPG.json index f6e45c161afc..5ee2383e6cfe 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PPG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PPG.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, "mode": "System", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,65 +36,70 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -109,38 +110,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -148,47 +125,70 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -199,37 +199,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -237,15 +214,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with PPG" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PodIdentity.json index 8402d67b3ec6..4f0e998829b5 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PodIdentity.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PodIdentity.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,68 +35,73 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + "podIdentityProfile": { + "allowNetworkPluginKubenet": true, + "enabled": true }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "podIdentityProfile": { - "enabled": true, - "allowNetworkPluginKubenet": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -111,38 +112,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -150,50 +127,73 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", "podIdentityProfile": { - "enabled": true, - "allowNetworkPluginKubenet": true + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -204,37 +204,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -242,19 +219,44 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", "podIdentityProfile": { - "enabled": true, - "allowNetworkPluginKubenet": true + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with PodIdentity enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Premium.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Premium.json index a97ffa89f18d..36a886e2bfb5 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Premium.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Premium.json @@ -1,34 +1,32 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Base", - "tier": "Premium" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,72 +38,73 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "addonProfiles": {}, - "enableRBAC": true, - "supportPlan": "AKSLongTermSupport" + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, - "sku": { - "name": "Base", - "tier": "Premium" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -116,41 +115,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -158,48 +130,79 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "supportPlan": "AKSLongTermSupport" + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -210,41 +213,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -252,16 +228,42 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "supportPlan": "AKSLongTermSupport" + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with LongTermSupport" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json index 425981f85a90..7937b6fd1fcb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -1,34 +1,33 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "fqdnSubdomain": "domain1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,68 +39,72 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" - }, - "addonProfiles": {}, - "enableRBAC": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "fqdnSubdomain": "domain1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -112,41 +115,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -154,47 +130,74 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "fqdnSubdomain": "domain1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -205,41 +208,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -247,15 +223,41 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Private Cluster with fqdn subdomain specified" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json index 0ae3756521c2..bf5814a46e88 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -1,34 +1,33 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,68 +39,74 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "enablePrivateClusterPublicFQDN": true - }, - "addonProfiles": {}, - "enableRBAC": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -112,43 +117,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "enablePrivateClusterPublicFQDN": true, - "privateDNSZone": "system" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -156,47 +132,76 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -207,43 +212,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "enablePrivateClusterPublicFQDN": true, - "privateDNSZone": "system" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -251,15 +227,41 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Private Cluster with Public FQDN specified" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_SecurityProfile.json index f4150935b000..97eb0077b37c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_SecurityProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_SecurityProfile.json @@ -1,33 +1,22 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,21 +28,19 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "securityProfile": { "defender": { "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", - "securityMonitoring": { - "enabled": true - }, "securityGating": { + "allowSecretAccess": true, "enabled": true, "identities": [ { @@ -63,46 +50,56 @@ "resourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/IDENTITY_NAME" } } - ], - "allowSecretAccess": true + ] + }, + "securityMonitoring": { + "enabled": true } } } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -113,38 +110,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -152,16 +125,31 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", "securityProfile": { "defender": { "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", - "securityMonitoring": { - "enabled": true - }, "securityGating": { + "allowSecretAccess": true, "enabled": true, "identities": [ { @@ -171,44 +159,52 @@ "resourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/IDENTITY_NAME" } } - ], - "allowSecretAccess": true + ] + }, + "securityMonitoring": { + "enabled": true } } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -219,37 +215,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -257,16 +230,31 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", "securityProfile": { "defender": { "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", - "securityMonitoring": { - "enabled": true - }, "securityGating": { + "allowSecretAccess": true, "enabled": true, "identities": [ { @@ -276,13 +264,27 @@ "resourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/IDENTITY_NAME" } } - ], - "allowSecretAccess": true + ] + }, + "securityMonitoring": { + "enabled": true } } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Security Profile configured" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Snapshot.json index 6c7a429ffa64..7b877ba099b2 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Snapshot.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Snapshot.json @@ -1,37 +1,33 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "enableFIPS": true, + "count": 3, "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + }, + "enableFIPS": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -43,68 +39,73 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableFIPS": true, - "creationData": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -115,38 +116,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -154,50 +131,73 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableFIPS": true, - "creationData": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -208,37 +208,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -246,15 +223,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster using an agent pool snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Update.json index a665f788c1d7..871796f27267 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_Update.json @@ -1,39 +1,46 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { - "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } }, + "location": "location1", "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -45,13 +52,17 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" }, "upgradeSettings": { "overrideSettings": { @@ -59,73 +70,77 @@ "until": "2022-11-01T13:00:00Z" } }, - "autoScalerProfile": { - "balance-similar-node-groups": "true", - "expander": "priority", - "max-node-provision-time": "15m", - "new-pod-scale-up-delay": "1m", - "scale-down-delay-after-add": "15m", - "scan-interval": "20s", - "skip-nodes-with-system-pods": "false" - }, "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" - }, - "servicePrincipalProfile": { - "clientId": "clientid", - "secret": "secret" - }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -136,38 +151,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -175,8 +166,28 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, "upgradeSettings": { "overrideSettings": { @@ -184,63 +195,61 @@ "until": "2022-11-01T13:00:00Z" } }, - "autoScalerProfile": { - "balance-similar-node-groups": "true", - "expander": "priority", - "max-node-provision-time": "15m", - "new-pod-scale-up-delay": "1m", - "scale-down-delay-after-add": "15m", - "scan-interval": "20s", - "skip-nodes-with-system-pods": "false" + "windowsProfile": { + "adminUsername": "azureuser" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -251,37 +260,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -289,24 +275,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json index d102064e9750..f8f03d41a3f2 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -1,38 +1,40 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { - "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } }, + "location": "location1", "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -44,78 +46,86 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" }, "windowsProfile": { - "adminUsername": "azureuser", "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser", "gmsaProfile": { "enabled": true } - }, - "servicePrincipalProfile": { - "clientId": "clientid", - "secret": "secret" - }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -126,41 +136,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser", - "gmsaProfile": { - "enabled": true - } - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -168,60 +151,86 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - } - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true } } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -232,40 +241,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser", - "gmsaProfile": { - "enabled": true - } - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -273,24 +256,43 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - } - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true } } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with Windows gMSA enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json index 225eee1282cd..4f3e00dd8e3f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -1,38 +1,40 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { - "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } }, + "location": "location1", "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -44,76 +46,84 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$", - "licenseType": "Windows_Server" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser", + "licenseType": "Windows_Server" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -124,39 +134,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser", - "licenseType": "Windows_Server" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -164,60 +149,84 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -228,38 +237,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser", - "licenseType": "Windows_Server" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -267,24 +252,41 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with EnableAHUB" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json index 4828240b1bda..1559911561c9 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -1,38 +1,38 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "aadProfile": { + "enableAzureRBAC": true, + "managed": true + }, + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -44,73 +44,80 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "aadProfile": { - "managed": true, - "enableAzureRBAC": true - }, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "aadProfile": { + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "managed": true, + "tenantID": "tenantID" + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -121,38 +128,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -160,57 +143,80 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "aadProfile": { - "managed": true, - "adminGroupObjectIDs": null, - "enableAzureRBAC": true, - "tenantID": "tenantID" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "aadProfile": { + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "managed": true, + "tenantID": "tenantID" + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -221,37 +227,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -259,21 +242,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "aadProfile": { - "managed": true, - "adminGroupObjectIDs": null, - "enableAzureRBAC": true, - "tenantID": "tenantID" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update AAD Managed Cluster with EnableAzureRBAC" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json index 34834ea6d938..21670e19319a 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json @@ -1,38 +1,35 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableNamespaceResources": true, + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -44,70 +41,75 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "enableNamespaceResources": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableNamespaceResources": true, + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -118,38 +120,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -157,52 +135,75 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "enableNamespaceResources": true + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableNamespaceResources": true, + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -213,37 +214,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -251,16 +229,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "enableNamespaceResources": true + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with EnableNamespaceResources" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json index c8fc7bcffdfb..137c473a5988 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": false, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -42,56 +38,61 @@ "loadBalancerSku": "standard", "outboundType": "userAssignedNATGateway" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" - }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": false, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -102,61 +103,60 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { + "dnsServiceIP": "10.0.0.10", "loadBalancerSku": "basic", "networkPlugin": "kubenet", + "outboundType": "userAssignedNATGateway", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "outboundType": "userAssignedNATGateway" + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": false, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -167,29 +167,31 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "loadBalancerSku": "standard", - "outboundType": "userAssignedNATGateway" + "networkPlugin": "kubenet", + "outboundType": "userAssignedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with user-assigned NAT gateway as outbound type" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_VirtualMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_VirtualMachines.json index fba71916efb5..4436a95424d4 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_VirtualMachines.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersCreate_VirtualMachines.json @@ -1,33 +1,25 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachines", + "count": 3, + "enableFIPS": true, "mode": "System", - "enableFIPS": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,56 +31,61 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" - }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachines", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachines", + "enableFIPS": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableFIPS": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -99,35 +96,14 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -135,42 +111,62 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachines", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableFIPS": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachines", - "mode": "System", - "enableFIPS": true + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -181,34 +177,14 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -216,11 +192,37 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with VirtualMachines pool type" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersDelete.json index 615592f14b8d..83193cee20b8 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersDelete.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_Delete", + "title": "Delete Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet.json index e2584d648c66..78ff2eb4064c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet.json @@ -1,51 +1,47 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", "eTag": "beywbwei", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", - "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "eTag": "nvewbvoi", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "nvewbvoi", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", "upgradeSettings": { "maxSurge": "33%" - } + }, + "vmSize": "Standard_DS1_v2" } ], + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -56,30 +52,22 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": false, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], "idleTimeoutInMinutes": 10, "outboundIPs": { "publicIPs": [ @@ -90,16 +78,24 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" } ] - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" - }, - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" - } - ] - } + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, "upgradeSettings": { "overrideSettings": { @@ -107,8 +103,14 @@ "until": "2022-11-01T13:00:00Z" } } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_Get", + "title": "Get Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGetAccessProfile.json index 0cea8c0351bd..cbec4f04ad56 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGetAccessProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGetAccessProfile.json @@ -1,22 +1,24 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "roleName": "clusterUser" + "roleName": "clusterUser", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { + "name": "clusterUser", + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", "location": "location1", - "name": "clusterUser", "properties": { "kubeConfig": "a3ViZUNvbmZpZzE=" - }, - "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } } } - } + }, + "operationId": "ManagedClusters_GetAccessProfile", + "title": "Get Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGetUpgradeProfile.json index 1d2e6e807647..1807989877f2 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGetUpgradeProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGetUpgradeProfile.json @@ -1,49 +1,51 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", "name": "default", + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", "properties": { "agentPoolProfiles": [ { - "kubernetesVersion": "1.7.7", "name": "agent", + "kubernetesVersion": "1.7.7", "osType": "Linux", "upgrades": [ { "kubernetesVersion": "1.7.9" }, { - "kubernetesVersion": "1.7.11", - "isPreview": true + "isPreview": true, + "kubernetesVersion": "1.7.11" } ] } ], "controlPlaneProfile": { - "kubernetesVersion": "1.7.7", "name": "master", + "kubernetesVersion": "1.7.7", "osType": "Linux", "upgrades": [ { - "kubernetesVersion": "1.7.9", - "isPreview": true + "isPreview": true, + "kubernetesVersion": "1.7.9" }, { "kubernetesVersion": "1.7.11" } ] } - }, - "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } } } - } + }, + "operationId": "ManagedClusters_GetUpgradeProfile", + "title": "Get Upgrade Profile for Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json index 1ff30d422782..fb8bf56ff122 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json @@ -1,23 +1,19 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "location": "location1", - "mode": "istio" + "mode": "istio", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", - "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", "name": "istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", "properties": { "meshRevisions": [ { - "revision": "asm-1-17", - "upgrades": [ - "1-18" - ], "compatibleWith": [ { "name": "kubernetes", @@ -28,11 +24,13 @@ "1.26" ] } + ], + "revision": "asm-1-17", + "upgrades": [ + "1-18" ] }, { - "revision": "asm-1-18", - "upgrades": [], "compatibleWith": [ { "name": "kubernetes", @@ -43,11 +41,15 @@ "1.27" ] } - ] + ], + "revision": "asm-1-18", + "upgrades": [] } ] } } } - } + }, + "operationId": "ManagedClusters_GetMeshRevisionProfile", + "title": "Get a mesh revision profile for a mesh mode" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json index 60b7723c53d1..df0333a905c4 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json @@ -1,22 +1,18 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "mode": "istio", "resourceGroupName": "rg1", "resourceName": "clustername1", - "mode": "istio" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", - "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", "name": "istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", "properties": { - "revision": "asm-1-17", - "upgrades": [ - "1-18" - ], "compatibleWith": [ { "name": "kubernetes", @@ -27,9 +23,15 @@ "1.26" ] } + ], + "revision": "asm-1-17", + "upgrades": [ + "1-18" ] } } } - } + }, + "operationId": "ManagedClusters_GetMeshUpgradeProfile", + "title": "Gets version compatibility and upgrade profile for a service mesh in a cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList.json index f5ed733fda98..07cde1e6183b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList.json @@ -8,34 +8,30 @@ "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", "eTag": "nvweuib", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "kubernetesVersion": "1.9.6", - "maxAgentPools": 1, - "dnsPrefix": "dnsprefix1", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", "agentPoolProfiles": [ { "name": "nodepool1", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", + "eTag": "byuefvwi", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "eTag": "byuefvwi" + "vmSize": "Standard_DS1_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -46,22 +42,28 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": false, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { + "dnsServiceIP": "10.0.0.10", "networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10" + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv2": "", + "tier": "production" } } ] } } - } + }, + "operationId": "ManagedClusters_List", + "title": "List Managed Clusters" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListByResourceGroup.json index 8f518aa7ea5e..dbfa3b9fc396 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListByResourceGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListByResourceGroup.json @@ -1,40 +1,36 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1" + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "kubernetesVersion": "1.9.6", - "maxAgentPools": 1, - "dnsPrefix": "dnsprefix1", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", "agentPoolProfiles": [ { "name": "nodepool1", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6" + "vmSize": "Standard_DS1_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -45,22 +41,28 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": false, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { + "dnsServiceIP": "10.0.0.10", "networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10" + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv2": "", + "tier": "production" } } ] } } - } + }, + "operationId": "ManagedClusters_ListByResourceGroup", + "title": "Get Managed Clusters by Resource Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterAdminCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterAdminCredentials.json new file mode 100644 index 000000000000..876569c96def --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterAdminCredentials.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterCredentialResult.json index 135a9866a2b6..01d4571207bc 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterCredentialResult.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterCredentialResult.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -16,5 +16,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "title": "Get Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterUserCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterUserCredentials.json new file mode 100644 index 000000000000..da42f7b5ebfa --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersListClusterUserCredentials.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-10-02-preview", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + }, + "operationId": "ManagedClusters_ListClusterUserCredentials", + "title": "Get Managed Cluster" +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json index 6ae01e95247b..bfef97baf3df 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json @@ -1,24 +1,20 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "location1" + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", - "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", "name": "istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", "properties": { "meshRevisions": [ { - "revision": "asm-1-17", - "upgrades": [ - "1-18" - ], "compatibleWith": [ { "name": "kubernetes", @@ -29,11 +25,13 @@ "1.26" ] } + ], + "revision": "asm-1-17", + "upgrades": [ + "1-18" ] }, { - "revision": "asm-1-18", - "upgrades": [], "compatibleWith": [ { "name": "kubernetes", @@ -44,7 +42,9 @@ "1.27" ] } - ] + ], + "revision": "asm-1-18", + "upgrades": [] } ] } @@ -52,5 +52,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListMeshRevisionProfiles", + "title": "List mesh revision profiles in a location" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json index 9b0fd0329c67..d0dc69d69ae6 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json @@ -1,23 +1,19 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", - "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", "name": "istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", "properties": { - "revision": "asm-1-17", - "upgrades": [ - "1-18" - ], "compatibleWith": [ { "name": "kubernetes", @@ -28,11 +24,17 @@ "1.26" ] } + ], + "revision": "asm-1-17", + "upgrades": [ + "1-18" ] } } ] } } - } + }, + "operationId": "ManagedClusters_ListMeshUpgradeProfiles", + "title": "Lists version compatibility and upgrade profile for all service meshes in a cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersResetAADProfile.json index 5827c5671870..695ab482bc4e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersResetAADProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersResetAADProfile.json @@ -1,15 +1,15 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "clientAppID": "clientappid", "serverAppID": "serverappid", "serverAppSecret": "serverappsecret", "tenantID": "tenantid" - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, @@ -18,5 +18,7 @@ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } } - } + }, + "operationId": "ManagedClusters_ResetAADProfile", + "title": "Reset AAD Profile" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json index c3d9021324d0..5939f5fdf5ee 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json @@ -1,13 +1,13 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "clientId": "clientid", "secret": "secret" - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, @@ -16,5 +16,7 @@ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } } - } + }, + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "title": "Reset Service Principal Profile" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersRotateClusterCertificates.json index 615592f14b8d..8c14c7b44d02 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersRotateClusterCertificates.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersRotateClusterCertificates.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_RotateClusterCertificates", + "title": "Rotate Cluster Certificates" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json index 615592f14b8d..8ed8c7131230 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", + "title": "Rotate Cluster Service Account Signing Keys" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersStart.json index 615592f14b8d..a1e5f9a0bef9 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersStart.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersStart.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_Start", + "title": "Start Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersStop.json index 615592f14b8d..c5800137f2cc 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersStop.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersStop.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_Stop", + "title": "Stop Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersUpdateTags.json index c2c628f6fbeb..ee7710b9b164 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersUpdateTags.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedClustersUpdateTags.json @@ -1,43 +1,41 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "tags": { - "tier": "testing", - "archv3": "" + "archv3": "", + "tier": "testing" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv3": "", - "tier": "testing" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6" + "vmSize": "Standard_DS1_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -48,21 +46,30 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": false, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", "networkProfile": { + "dnsServiceIP": "10.0.0.10", "networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10" + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv3": "", + "tier": "testing" } } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } } - } + }, + "operationId": "ManagedClusters_UpdateTags", + "title": "Update Managed Cluster Tags" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesCreate_Update.json index 395f9169f207..a694bbbdaecb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesCreate_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesCreate_Update.json @@ -1,100 +1,102 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "managedNamespaceName": "namespace1", "parameters": { - "tags": { - "tagKey1": "tagValue1" - }, "properties": { - "labels": { - "kubernetes.io/metadata.name": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" - }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" + } + }, + "tags": { + "tagKey1": "tagValue1" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "name": "namespace1", "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "location": "eastus2", - "tags": { - "tagKey1": "tagValue1" - }, "properties": { - "labels": { - "kubernetes.io/metadata.name": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Succeeded", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "name": "namespace1", "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "location": "eastus2", - "tags": { - "tagKey1": "tagValue1" - }, "properties": { - "labels": { - "kubernetes.io/metadata.name": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Updating", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Updating" + }, + "tags": { + "tagKey1": "tagValue1" } } } - } + }, + "operationId": "ManagedNamespaces_CreateOrUpdate", + "title": "Create/Update Managed Namespace" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesDelete.json index 4f4e105e986a..18634c05830c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesDelete.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "managedNamespaceName": "namespace1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "managedNamespaceName": "namespace1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedNamespaces_Delete", + "title": "Delete Managed Namespace" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesGet.json index 0cc73bcb7c35..4ffad22281b7 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesGet.json @@ -1,43 +1,45 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "managedNamespaceName": "namespace1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "managedNamespaceName": "namespace1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "name": "namespace1", "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", - "tags": { - "tagKey1": "tagValue1" - }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "location": "eastus2", "properties": { - "labels": { - "kubernetes.azure.com/managedByArm": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Succeeded", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" } } } - } + }, + "operationId": "ManagedNamespaces_Get", + "title": "Get Managed Namespace" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesList.json index a6fd93001968..ff47ac24808e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesList.json @@ -1,47 +1,49 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "managedNamespaceName": "namespace1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "managedNamespaceName": "namespace1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "name": "namespace1", "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", - "tags": { - "tagKey1": "tagValue1" - }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "location": "eastus2", "properties": { - "labels": { - "kubernetes.azure.com/managedByArm": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Succeeded", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" } } ] } } - } + }, + "operationId": "ManagedNamespaces_ListByManagedCluster", + "title": "List namespaces by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesListCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesListCredentialResult.json index 7d5273cee640..d5e849e47bea 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesListCredentialResult.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesListCredentialResult.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "managedNamespaceName": "namespace1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "managedNamespaceName": "namespace1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -17,5 +17,7 @@ ] } } - } + }, + "operationId": "ManagedNamespaces_ListCredential", + "title": "List managed namespace credentials" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesUpdateTags.json index f5de94931014..d9c78858ef14 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesUpdateTags.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ManagedNamespacesUpdateTags.json @@ -1,47 +1,49 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "managedNamespaceName": "namespace1", "parameters": { "tags": { "tagKey1": "tagValue1", "tagKey2": "tagValue2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "tags": { - "tagKey1": "tagValue1", - "tagKey2": "tagValue2" - }, "location": "eastus2", "properties": { - "labels": { - "kubernetes.azure.com/managedByArm": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Succeeded", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1", + "tagKey2": "tagValue2" } } } - } + }, + "operationId": "ManagedNamespaces_Update", + "title": "Update Managed Namespace Tags" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_CreateOrUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_CreateOrUpdate.json index 9cf4318bda99..bd4d3286b6a7 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_CreateOrUpdate.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_CreateOrUpdate.json @@ -1,22 +1,22 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "meshMembershipName": "meshmembership1", "parameters": { "properties": { "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", "name": "meshmembership1", "type": "Microsoft.ContainerService/managedClusters/meshMemberships", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", "properties": { "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" } @@ -24,13 +24,15 @@ }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", "name": "meshmembership1", "type": "Microsoft.ContainerService/managedClusters/meshMemberships", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", "properties": { "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" } } } - } + }, + "operationId": "MeshMemberships_CreateOrUpdate", + "title": "Create or update Mesh Membership" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_Delete.json index b9af87506b2a..6728afdf3252 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_Delete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_Delete.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "meshMembershipName": "meshmembership1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "meshMembershipName": "meshmembership1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "MeshMemberships_Delete", + "title": "Delete Mesh Membership" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_Get.json index 4c824272b380..4ea90076cd04 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_Get.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_Get.json @@ -1,21 +1,23 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "meshMembershipName": "meshmembership1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "meshMembershipName": "meshmembership1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", "name": "meshmembership1", "type": "Microsoft.ContainerService/managedClusters/meshMemberships", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", "properties": { "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" } } } - } + }, + "operationId": "MeshMemberships_Get", + "title": "Get Mesh Membership" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_ListByManagedCluster.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_ListByManagedCluster.json index 2613e8e3a475..5d4e8d5dafd2 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_ListByManagedCluster.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/MeshMemberships_ListByManagedCluster.json @@ -1,18 +1,18 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", "name": "meshmembership1", "type": "Microsoft.ContainerService/managedClusters/meshMemberships", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshMemberships/meshmembership1", "properties": { "managedMeshID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppLink/applinks/applink1/appLinkMembers/member1" } @@ -20,5 +20,7 @@ ] } } - } + }, + "operationId": "MeshMemberships_ListByManagedCluster", + "title": "List Mesh Memberships by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/NodeImageVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/NodeImageVersions_List.json index 77f742af4473..bbd5042ab991 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/NodeImageVersions_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/NodeImageVersions_List.json @@ -1,8 +1,8 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "location1" + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -23,5 +23,7 @@ ] } } - } + }, + "operationId": "ContainerService_ListNodeImageVersions", + "title": "List Node Image Versions" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultGet.json index 35e26a153afd..4510df05a2d4 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultGet.json @@ -1,20 +1,22 @@ { "parameters": { + "operationId": "00000000-0000-0000-0000-000000000001", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "operationId": "00000000-0000-0000-0000-000000000001" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/00000000-0000-0000-0000-000000000001", "name": "00000000-0000-0000-0000-000000000001", - "status": "InProgress", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/00000000-0000-0000-0000-000000000001", "percentComplete": 40, - "startTime": "2023-07-26T12:14:26.3179428Z" + "startTime": "2023-07-26T12:14:26.3179428Z", + "status": "InProgress" } } - } + }, + "operationId": "OperationStatusResult_Get", + "title": "Get OperationStatusResult" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultGetByAgentPool.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultGetByAgentPool.json index 49d5757b37e9..2cdb7d38a9b0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultGetByAgentPool.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultGetByAgentPool.json @@ -1,21 +1,23 @@ { "parameters": { + "operationId": "00000000-0000-0000-0000-000000000001", + "agentPoolName": "agentpool1", "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1", - "operationId": "00000000-0000-0000-0000-000000000001" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/operations/00000000-0000-0000-0000-000000000001", "name": "00000000-0000-0000-0000-000000000001", - "status": "InProgress", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/operations/00000000-0000-0000-0000-000000000001", "percentComplete": 40, - "startTime": "2023-07-26T12:14:26.3179428Z" + "startTime": "2023-07-26T12:14:26.3179428Z", + "status": "InProgress" } } - } + }, + "operationId": "OperationStatusResult_GetByAgentPool", + "title": "Get OperationStatusResult" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultList.json index 4c6efec7e7dd..60c244008497 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OperationStatusResultList.json @@ -1,34 +1,36 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/d11edb09-6e27-429f-9fe5-17baf773bc4a", "name": "d11edb09-6e27-429f-9fe5-17baf773bc4a", - "status": "InProgress", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/d11edb09-6e27-429f-9fe5-17baf773bc4a", "percentComplete": 40, - "startTime": "2023-07-26T12:14:26.3179428Z" + "startTime": "2023-07-26T12:14:26.3179428Z", + "status": "InProgress" }, { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/d11edb09-6e27-429f-9fe5-17baf773bc4b", "name": "d11edb09-6e27-429f-9fe5-17baf773bc4b", - "status": "Failed", - "startTime": "2023-07-26T12:14:26.3179428Z", "endTime": "2023-07-26T12:14:50.3179428Z", "error": { "code": "ReconcileAgentPoolIdentityError", "message": "Reconcile agent pool nodepool1 identity failed" - } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/d11edb09-6e27-429f-9fe5-17baf773bc4b", + "startTime": "2023-07-26T12:14:26.3179428Z", + "status": "Failed" } ] } } - } + }, + "operationId": "OperationStatusResult_List", + "title": "List of OperationStatusResult" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/Operation_List.json index 30f66ed51786..cadeb6176f6c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/Operation_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/Operation_List.json @@ -7,3567 +7,3569 @@ "body": { "value": [ { + "name": "Microsoft.ContainerService/locations/operations/read", "display": { "description": "Gets the status of an asynchronous operation", "operation": "Get Operation", "provider": "Microsoft Container Service", "resource": "Operation" }, - "name": "Microsoft.ContainerService/locations/operations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/locations/orchestrators/read", "display": { "description": "Lists the supported orchestrators", "operation": "List Orchestrators", "provider": "Microsoft Container Service", "resource": "Orchestrator" }, - "name": "Microsoft.ContainerService/locations/orchestrators/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/operations/read", "display": { "description": "Lists operations available on Microsoft.ContainerService resource provider", "operation": "List Available Container Service Operations", "provider": "Microsoft Container Service", "resource": "Available Container Service Operations" }, - "name": "Microsoft.ContainerService/operations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/register/action", "display": { "description": "Registers Subscription with Microsoft.ContainerService resource provider", "operation": "Register Subscription for Container Service", "provider": "Microsoft Container Service", "resource": "Container Service Register Subscription" }, - "name": "Microsoft.ContainerService/register/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/unregister/action", "display": { "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", "operation": "Unregister Subscription for Container Service", "provider": "Microsoft Container Service", "resource": "Container Service Unregister Subscription" }, - "name": "Microsoft.ContainerService/unregister/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/locations/operationresults/read", "display": { "description": "Gets the status of an asynchronous operation result", "operation": "Get Operation Result", "provider": "Microsoft Container Service", "resource": "OperationResult" }, - "name": "Microsoft.ContainerService/locations/operationresults/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/containerServices/read", "display": { "description": "Get a container service", "operation": "Get Container Service", "provider": "Microsoft Container Service", "resource": "Container Services" }, - "name": "Microsoft.ContainerService/containerServices/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/containerServices/write", "display": { "description": "Creates a new container service or updates an existing one", "operation": "Create or Update Container Service", "provider": "Microsoft Container Service", "resource": "Container Services" }, - "name": "Microsoft.ContainerService/containerServices/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/containerServices/delete", "display": { "description": "Deletes a container service", "operation": "Delete Container Service", "provider": "Microsoft Container Service", "resource": "Container Services" }, - "name": "Microsoft.ContainerService/containerServices/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/read", "display": { "description": "Get a managed cluster", "operation": "Get Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/write", "display": { "description": "Creates a new managed cluster or updates an existing one", "operation": "Create or Update Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/delete", "display": { "description": "Deletes a managed cluster", "operation": "Delete Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/start/action", "display": { "description": "Starts a managed cluster", "operation": "Start Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/start/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/stop/action", "display": { "description": "Stops a managed cluster", "operation": "Stop Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/stop/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", "display": { "description": "Gets a maintenance configuration", "operation": "Get a maintenance configuration", "provider": "Microsoft Container Service", "resource": "Maintenance Configurations" }, - "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", "display": { "description": "Creates a new MaintenanceConfiguration or updates an existing one", "operation": "Create or Update maintenance configuratio", "provider": "Microsoft Container Service", "resource": "Maintenance Configurations" }, - "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", "display": { "description": "Deletes a maintenance configuration", "operation": "Delete Maintenance Configuration", "provider": "Microsoft Container Service", "resource": "Maintenance Configurations" }, - "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", "display": { "description": "Gets an agent pool", "operation": "Get Agent Pool", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", "display": { "description": "Creates a new agent pool or updates an existing one", "operation": "Create or Update Agent Pool", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", "display": { "description": "Deletes an agent pool", "operation": "Delete Agent Pool", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", "display": { "description": "Gets the upgrade profile of the Agent Pool", "operation": "Get Agent Pool UpgradeProfile", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", "display": { "description": "Upgrade the node image version of agent pool", "operation": "Upgrade agent pool node image version", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", "display": { "description": "Gets the available agent pool versions of the cluster", "operation": "Get Available Agent Pool Versions", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", "display": { "description": "Get a managed cluster access profile by role name", "operation": "Get Managed Cluster AccessProfile", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", "display": { "description": "Get a managed cluster access profile by role name using list credential", "operation": "Get Managed Cluster AccessProfile by List Credential", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", "display": { "description": "Gets the upgrade profile of the cluster", "operation": "Get UpgradeProfile", "provider": "Microsoft Container Service", "resource": "UpgradeProfile" }, - "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", "display": { "description": "List the clusterAdmin credential of a managed cluster", "operation": "List clusterAdmin credential", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", "display": { "description": "List the clusterUser credential of a managed cluster", "operation": "List clusterUser credential", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", "display": { "description": "List the clusterMonitoringUser credential of a managed cluster", "operation": "List clusterMonitoringUser credential", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", "display": { "description": "Reset the service principal profile of a managed cluster", "operation": "Reset service principal profile", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", "display": { "description": "Resolve the private link service id of a managed cluster", "operation": "Resolve private link service id", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", "display": { "description": "Reset the AAD profile of a managed cluster", "operation": "Reset AAD profile", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", "display": { "description": "Rotate certificates of a managed cluster", "operation": "Rotate certificates of the cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", "display": { "description": "Run user issued command against managed kubernetes server.", "operation": "RunCommand", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/runCommand/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", "display": { "description": "Retrieve result from previous issued command.", "operation": "CommandResult", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/commandResults/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", "display": { "description": "Get the diagnostic setting for a managed cluster resource", "operation": "Read Diagnostic Setting", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", "display": { "description": "Creates or updates the diagnostic setting for a managed cluster resource", "operation": "Write Diagnostic Setting", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/detectors/read", "display": { "description": "Get Managed Cluster Detector", "operation": "Get Managed Cluster Detector", "provider": "Microsoft Container Service", "resource": "Managed Cluster Detector" }, - "name": "Microsoft.ContainerService/managedClusters/detectors/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", "display": { "description": "Gets the diagnostics state of the cluster", "operation": "Get Diagnostics State", "provider": "Microsoft Container Service", "resource": "Diagnostics State" }, - "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", "display": { "description": "Determines if user is allowed to approve a private endpoint connection", "operation": "Approve Private Endpoint Connections", "provider": "Microsoft Container Service", "resource": "Approve Private Endpoint Connections" }, - "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", "display": { "description": "Get private endpoint connection", "operation": "Get private endpoint connection", "provider": "Microsoft Container Service", "resource": "Private Endpoint Connections" }, - "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", "display": { "description": "Approve or Reject a private endpoint connection", "operation": "Update private endpoint connection", "provider": "Microsoft Container Service", "resource": "Private Endpoint Connections" }, - "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", "display": { "description": "Delete private endpoint connection", "operation": "Delete private endpoint connection", "provider": "Microsoft Container Service", "resource": "Private Endpoint Connections" }, - "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", "display": { "description": "Gets an extension addon", "operation": "Get an extension addon", "provider": "Microsoft Container Service", "resource": "ExtensionAddons" }, - "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", "display": { "description": "Creates a new extension addon or updates an existing one", "operation": "Create or Update extension addon", "provider": "Microsoft Container Service", "resource": "ExtensionAddons" }, - "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", "display": { "description": "Deletes an extension addon", "operation": "Delete an extension addon", "provider": "Microsoft Container Service", "resource": "ExtensionAddons" }, - "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", "origin": "system" }, { + "name": "Microsoft.ContainerService/snapshots/read", "display": { "description": "Get a snapshot", "operation": "Get Snapshot", "provider": "Microsoft Container Service", "resource": "Snapshots" }, - "name": "Microsoft.ContainerService/snapshots/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/snapshots/write", "display": { "description": "Creates a new snapshot", "operation": "Create Snapshot", "provider": "Microsoft Container Service", "resource": "Snapshots" }, - "name": "Microsoft.ContainerService/snapshots/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/snapshots/delete", "display": { "description": "Deletes a snapshot", "operation": "Delete Snapshot", "provider": "Microsoft Container Service", "resource": "Snapshots" }, - "name": "Microsoft.ContainerService/snapshots/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", "display": { "description": "Get eventgrid filter", "operation": "Get eventgrid filter", "provider": "Microsoft Container Service", "resource": "EventGridFilters" }, - "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", "display": { "description": "Create or Update eventgrid filter", "operation": "Create or Update eventgrid filter", "provider": "Microsoft Container Service", "resource": "EventGridFilters" }, - "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", "display": { "description": "Delete an eventgrid filter", "operation": "Delete an eventgrid filter", "provider": "Microsoft Container Service", "resource": "EventGridFilters" }, - "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", "display": { "description": "Reads initializerconfigurations", "operation": "Gets/List initializerconfigurations resource", "provider": "Microsoft Container Service", "resource": "Initializerconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", "display": { "description": "Writes initializerconfigurations", "operation": "Creates/Updates initializerconfigurations resource", "provider": "Microsoft Container Service", "resource": "Initializerconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", "display": { "description": "Deletes/DeletesCollection initializerconfigurations resource", "operation": "Initializerconfigurations", "provider": "Microsoft Container Service", "resource": "Initializerconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", "display": { "description": "Reads mutatingwebhookconfigurations", "operation": "Gets/List mutatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Mutatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", "display": { "description": "Writes mutatingwebhookconfigurations", "operation": "Creates/Updates mutatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Mutatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", "display": { "description": "Deletes mutatingwebhookconfigurations", "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Mutatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", "display": { "description": "Reads validatingwebhookconfigurations", "operation": "Gets/List validatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Validatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", "display": { "description": "Writes validatingwebhookconfigurations", "operation": "Creates/Updates validatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Validatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", "display": { "description": "Deletes validatingwebhookconfigurations", "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Validatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", "display": { "description": "Reads customresourcedefinitions", "operation": "Gets/List customresourcedefinitions resource", "provider": "Microsoft Container Service", "resource": "Customresourcedefinitions" }, - "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", "display": { "description": "Writes customresourcedefinitions", "operation": "Creates/Updates customresourcedefinitions resource", "provider": "Microsoft Container Service", "resource": "Customresourcedefinitions" }, - "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", "display": { "description": "Deletes customresourcedefinitions", "operation": "Deletes/DeletesCollection customresourcedefinitions resource", "provider": "Microsoft Container Service", "resource": "Customresourcedefinitions" }, - "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", "display": { "description": "Reads apiservices", "operation": "Gets/List apiservices resource", "provider": "Microsoft Container Service", "resource": "Apiservices" }, - "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", "display": { "description": "Writes apiservices", "operation": "Creates/Updates apiservices resource", "provider": "Microsoft Container Service", "resource": "Apiservices" }, - "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", "display": { "description": "Deletes apiservices", "operation": "Deletes/DeletesCollection apiservices resource", "provider": "Microsoft Container Service", "resource": "Apiservices" }, - "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", "display": { "description": "Reads controllerrevisions", "operation": "Gets/List controllerrevisions resource", "provider": "Microsoft Container Service", "resource": "Controllerrevisions" }, - "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", "display": { "description": "Writes controllerrevisions", "operation": "Creates/Updates controllerrevisions resource", "provider": "Microsoft Container Service", "resource": "Controllerrevisions" }, - "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", "display": { "description": "Deletes controllerrevisions", "operation": "Deletes/DeletesCollection controllerrevisions resource", "provider": "Microsoft Container Service", "resource": "Controllerrevisions" }, - "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", "display": { "description": "Reads daemonsets", "operation": "Gets/List daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", "display": { "description": "Writes daemonsets", "operation": "Creates/Updates daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", "display": { "description": "Deletes daemonsets", "operation": "Deletes/DeletesCollection daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", "display": { "description": "Reads deployments", "operation": "Gets/List deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", "display": { "description": "Writes deployments", "operation": "Creates/Updates deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", "display": { "description": "Deletes deployments", "operation": "Deletes/DeletesCollection deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", "display": { "description": "Reads replicasets", "operation": "Gets/List replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", "display": { "description": "Writes replicasets", "operation": "Creates/Updates replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", "display": { "description": "Deletes replicasets", "operation": "Deletes/DeletesCollection replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", "display": { "description": "Reads statefulsets", "operation": "Gets/List statefulsets resource", "provider": "Microsoft Container Service", "resource": "Statefulsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", "display": { "description": "Writes statefulsets", "operation": "Creates/Updates statefulsets resource", "provider": "Microsoft Container Service", "resource": "Statefulsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", "display": { "description": "Deletes statefulsets", "operation": "Deletes/DeletesCollection statefulsets resource", "provider": "Microsoft Container Service", "resource": "Statefulsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", "display": { "description": "Writes tokenreviews", "operation": "Creates/Updates tokenreviews resource", "provider": "Microsoft Container Service", "resource": "Tokenreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", "display": { "description": "Writes localsubjectaccessreviews", "operation": "Creates/Updates localsubjectaccessreviews resource", "provider": "Microsoft Container Service", "resource": "Localsubjectaccessreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", "display": { "description": "Writes selfsubjectaccessreviews", "operation": "Creates/Updates selfsubjectaccessreviews resource", "provider": "Microsoft Container Service", "resource": "Selfsubjectaccessreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", "display": { "description": "Writes selfsubjectrulesreviews", "operation": "Creates/Updates selfsubjectrulesreviews resource", "provider": "Microsoft Container Service", "resource": "Selfsubjectrulesreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", "display": { "description": "Writes subjectaccessreviews", "operation": "Creates/Updates subjectaccessreviews resource", "provider": "Microsoft Container Service", "resource": "Subjectaccessreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", "display": { "description": "Reads horizontalpodautoscalers", "operation": "Gets/List horizontalpodautoscalers resource", "provider": "Microsoft Container Service", "resource": "Horizontalpodautoscalers" }, - "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", "display": { "description": "Writes horizontalpodautoscalers", "operation": "Creates/Updates horizontalpodautoscalers resource", "provider": "Microsoft Container Service", "resource": "Horizontalpodautoscalers" }, - "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", "display": { "description": "Deletes horizontalpodautoscalers", "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", "provider": "Microsoft Container Service", "resource": "Horizontalpodautoscalers" }, - "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", "display": { "description": "Reads cronjobs", "operation": "Gets/List cronjobs resource", "provider": "Microsoft Container Service", "resource": "Cronjobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", "display": { "description": "Writes cronjobs", "operation": "Creates/Updates cronjobs resource", "provider": "Microsoft Container Service", "resource": "Cronjobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", "display": { "description": "Deletes cronjobs", "operation": "Deletes/DeletesCollection cronjobs resource", "provider": "Microsoft Container Service", "resource": "Cronjobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", "display": { "description": "Reads jobs", "operation": "Gets/List jobs resource", "provider": "Microsoft Container Service", "resource": "Jobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", "display": { "description": "Writes jobs", "operation": "Creates/Updates jobs resource", "provider": "Microsoft Container Service", "resource": "Jobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", "display": { "description": "Deletes jobs", "operation": "Deletes/DeletesCollection jobs resource", "provider": "Microsoft Container Service", "resource": "Jobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", "display": { "description": "Reads certificatesigningrequests", "operation": "Gets/List certificatesigningrequests resource", "provider": "Microsoft Container Service", "resource": "Certificatesigningrequests" }, - "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", "display": { "description": "Writes certificatesigningrequests", "operation": "Creates/Updates certificatesigningrequests resource", "provider": "Microsoft Container Service", "resource": "Certificatesigningrequests" }, - "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", "display": { "description": "Deletes certificatesigningrequests", "operation": "Deletes/DeletesCollection certificatesigningrequests resource", "provider": "Microsoft Container Service", "resource": "Certificatesigningrequests" }, - "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", "display": { "description": "Reads leases", "operation": "Gets/List leases resource", "provider": "Microsoft Container Service", "resource": "Leases" }, - "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", "display": { "description": "Writes leases", "operation": "Creates/Updates leases resource", "provider": "Microsoft Container Service", "resource": "Leases" }, - "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", "display": { "description": "Deletes leases", "operation": "Deletes/DeletesCollection leases resource", "provider": "Microsoft Container Service", "resource": "Leases" }, - "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/bindings/write", "display": { "description": "Writes bindings", "operation": "Creates/Updates bindings resource", "provider": "Microsoft Container Service", "resource": "Bindings" }, - "name": "Microsoft.ContainerService/managedClusters/bindings/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", "display": { "description": "Reads componentstatuses", "operation": "Gets/List componentstatuses resource", "provider": "Microsoft Container Service", "resource": "Componentstatuses" }, - "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", "display": { "description": "Writes componentstatuses", "operation": "Creates/Updates componentstatuses resource", "provider": "Microsoft Container Service", "resource": "Componentstatuses" }, - "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", "display": { "description": "Deletes componentstatuses", "operation": "Deletes/DeletesCollection componentstatuses resource", "provider": "Microsoft Container Service", "resource": "Componentstatuses" }, - "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", "display": { "description": "Reads configmaps", "operation": "Gets/List configmaps resource", "provider": "Microsoft Container Service", "resource": "Configmaps" }, - "name": "Microsoft.ContainerService/managedClusters/configmaps/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", "display": { "description": "Writes configmaps", "operation": "Creates/Updates configmaps resource", "provider": "Microsoft Container Service", "resource": "Configmaps" }, - "name": "Microsoft.ContainerService/managedClusters/configmaps/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", "display": { "description": "Deletes configmaps", "operation": "Deletes/DeletesCollection configmaps resource", "provider": "Microsoft Container Service", "resource": "Configmaps" }, - "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", "display": { "description": "Reads endpoints", "operation": "Gets/List endpoints resource", "provider": "Microsoft Container Service", "resource": "Endpoints" }, - "name": "Microsoft.ContainerService/managedClusters/endpoints/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", "display": { "description": "Writes endpoints", "operation": "Creates/Updates endpoints resource", "provider": "Microsoft Container Service", "resource": "Endpoints" }, - "name": "Microsoft.ContainerService/managedClusters/endpoints/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", "display": { "description": "Deletes endpoints", "operation": "Deletes/DeletesCollection endpoints resource", "provider": "Microsoft Container Service", "resource": "Endpoints" }, - "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events/read", "display": { "description": "Reads events", "operation": "Gets/List events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events/write", "display": { "description": "Writes events", "operation": "Creates/Updates events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events/delete", "display": { "description": "Deletes events", "operation": "Deletes/DeletesCollection events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", "display": { "description": "Reads limitranges", "operation": "Gets/List limitranges resource", "provider": "Microsoft Container Service", "resource": "Limitranges" }, - "name": "Microsoft.ContainerService/managedClusters/limitranges/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", "display": { "description": "Writes limitranges", "operation": "Creates/Updates limitranges resource", "provider": "Microsoft Container Service", "resource": "Limitranges" }, - "name": "Microsoft.ContainerService/managedClusters/limitranges/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", "display": { "description": "Deletes limitranges", "operation": "Deletes/DeletesCollection limitranges resource", "provider": "Microsoft Container Service", "resource": "Limitranges" }, - "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", "display": { "description": "Reads namespaces", "operation": "Gets/List namespaces resource", "provider": "Microsoft Container Service", "resource": "Namespaces" }, - "name": "Microsoft.ContainerService/managedClusters/namespaces/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", "display": { "description": "Writes namespaces", "operation": "Creates/Updates namespaces resource", "provider": "Microsoft Container Service", "resource": "Namespaces" }, - "name": "Microsoft.ContainerService/managedClusters/namespaces/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", "display": { "description": "Deletes namespaces", "operation": "Deletes/DeletesCollection namespaces resource", "provider": "Microsoft Container Service", "resource": "Namespaces" }, - "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/nodes/read", "display": { "description": "Reads nodes", "operation": "Gets/List nodes resource", "provider": "Microsoft Container Service", "resource": "Nodes" }, - "name": "Microsoft.ContainerService/managedClusters/nodes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/nodes/write", "display": { "description": "Writes nodes", "operation": "Creates/Updates nodes resource", "provider": "Microsoft Container Service", "resource": "Nodes" }, - "name": "Microsoft.ContainerService/managedClusters/nodes/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", "display": { "description": "Deletes nodes", "operation": "Deletes/DeletesCollection nodes resource", "provider": "Microsoft Container Service", "resource": "Nodes" }, - "name": "Microsoft.ContainerService/managedClusters/nodes/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", "display": { "description": "Reads persistentvolumeclaims", "operation": "Gets/List persistentvolumeclaims resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumeclaims" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", "display": { "description": "Writes persistentvolumeclaims", "operation": "Creates/Updates persistentvolumeclaims resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumeclaims" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", "display": { "description": "Deletes persistentvolumeclaims", "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumeclaims" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", "display": { "description": "Reads persistentvolumes", "operation": "Gets/List persistentvolumes resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumes" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", "display": { "description": "Writes persistentvolumes", "operation": "Creates/Updates persistentvolumes resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumes" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", "display": { "description": "Deletes persistentvolumes", "operation": "Deletes/DeletesCollection persistentvolumes resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumes" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/pods/read", "display": { "description": "Reads pods", "operation": "Gets/List pods resource", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/pods/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/pods/write", "display": { "description": "Writes pods", "operation": "Creates/Updates pods resource", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/pods/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/pods/delete", "display": { "description": "Deletes pods", "operation": "Deletes/DeletesCollection pods resource", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/pods/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", "display": { "description": "Exec into pods resource", "operation": "Exec into pods resource ", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", "display": { "description": "Reads podtemplates", "operation": "Gets/List podtemplates resource", "provider": "Microsoft Container Service", "resource": "Podtemplates" }, - "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", "display": { "description": "Writes podtemplates", "operation": "Creates/Updates podtemplates resource", "provider": "Microsoft Container Service", "resource": "Podtemplates" }, - "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", "display": { "description": "Deletes podtemplates", "operation": "Deletes/DeletesCollection podtemplates resource", "provider": "Microsoft Container Service", "resource": "Podtemplates" }, - "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", "display": { "description": "Reads replicationcontrollers", "operation": "Gets/List replicationcontrollers resource", "provider": "Microsoft Container Service", "resource": "Replicationcontrollers" }, - "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", "display": { "description": "Writes replicationcontrollers", "operation": "Creates/Updates replicationcontrollers resource", "provider": "Microsoft Container Service", "resource": "Replicationcontrollers" }, - "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", "display": { "description": "Deletes replicationcontrollers", "operation": "Deletes/DeletesCollection replicationcontrollers resource", "provider": "Microsoft Container Service", "resource": "Replicationcontrollers" }, - "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", "display": { "description": "Reads resourcequotas", "operation": "Gets/List resourcequotas resource", "provider": "Microsoft Container Service", "resource": "Resourcequotas" }, - "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", "display": { "description": "Writes resourcequotas", "operation": "Creates/Updates resourcequotas resource", "provider": "Microsoft Container Service", "resource": "Resourcequotas" }, - "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", "display": { "description": "Deletes resourcequotas", "operation": "Deletes/DeletesCollection resourcequotas resource", "provider": "Microsoft Container Service", "resource": "Resourcequotas" }, - "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/secrets/read", "display": { "description": "Reads secrets", "operation": "Gets/List secrets resource", "provider": "Microsoft Container Service", "resource": "Secrets" }, - "name": "Microsoft.ContainerService/managedClusters/secrets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/secrets/write", "display": { "description": "Writes secrets", "operation": "Creates/Updates secrets resource", "provider": "Microsoft Container Service", "resource": "Secrets" }, - "name": "Microsoft.ContainerService/managedClusters/secrets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", "display": { "description": "Deletes secrets", "operation": "Deletes/DeletesCollection secrets resource", "provider": "Microsoft Container Service", "resource": "Secrets" }, - "name": "Microsoft.ContainerService/managedClusters/secrets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", "display": { "description": "Reads serviceaccounts", "operation": "Gets/List serviceaccounts resource", "provider": "Microsoft Container Service", "resource": "Serviceaccounts" }, - "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", "display": { "description": "Writes serviceaccounts", "operation": "Creates/Updates serviceaccounts resource", "provider": "Microsoft Container Service", "resource": "Serviceaccounts" }, - "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", "display": { "description": "Deletes serviceaccounts", "operation": "Deletes/DeletesCollection serviceaccounts resource", "provider": "Microsoft Container Service", "resource": "Serviceaccounts" }, - "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/services/read", "display": { "description": "Reads services", "operation": "Gets/List services resource", "provider": "Microsoft Container Service", "resource": "Services" }, - "name": "Microsoft.ContainerService/managedClusters/services/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/services/write", "display": { "description": "Writes services", "operation": "Creates/Updates services resource", "provider": "Microsoft Container Service", "resource": "Services" }, - "name": "Microsoft.ContainerService/managedClusters/services/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/services/delete", "display": { "description": "Deletes services", "operation": "Deletes/DeletesCollection services resource", "provider": "Microsoft Container Service", "resource": "Services" }, - "name": "Microsoft.ContainerService/managedClusters/services/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", "display": { "description": "Reads events", "operation": "Gets/List events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", "display": { "description": "Writes events", "operation": "Creates/Updates events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", "display": { "description": "Deletes events", "operation": "Deletes/DeletesCollection events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", "display": { "description": "Reads daemonsets", "operation": "Gets/List daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", "display": { "description": "Writes daemonsets", "operation": "Creates/Updates daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", "display": { "description": "Deletes daemonsets", "operation": "Deletes/DeletesCollection daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", "display": { "description": "Reads deployments", "operation": "Gets/List deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", "display": { "description": "Writes deployments", "operation": "Creates/Updates deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", "display": { "description": "Deletes deployments", "operation": "Deletes/DeletesCollection deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", "display": { "description": "Reads ingresses", "operation": "Gets/List ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", "display": { "description": "Writes ingresses", "operation": "Creates/Updates ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", "display": { "description": "Deletes ingresses", "operation": "Deletes/DeletesCollection ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", "display": { "description": "Reads networkpolicies", "operation": "Gets/List networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", "display": { "description": "Writes networkpolicies", "operation": "Creates/Updates networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", "display": { "description": "Deletes networkpolicies", "operation": "Deletes/DeletesCollection networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", "display": { "description": "Reads podsecuritypolicies", "operation": "Gets/List podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", "display": { "description": "Writes podsecuritypolicies", "operation": "Creates/Updates podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", "display": { "description": "Deletes podsecuritypolicies", "operation": "Deletes/DeletesCollection podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", "display": { "description": "Reads replicasets", "operation": "Gets/List replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", "display": { "description": "Writes replicasets", "operation": "Creates/Updates replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", "display": { "description": "Deletes replicasets", "operation": "Deletes/DeletesCollection replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", "display": { "description": "Reads pods", "operation": "Gets/List pods resource", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", "display": { "description": "Reads nodes", "operation": "Gets/List nodes resource", "provider": "Microsoft Container Service", "resource": "Nodes" }, - "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", "display": { "description": "Reads networkpolicies", "operation": "Gets/List networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", "display": { "description": "Writes networkpolicies", "operation": "Creates/Updates networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", "display": { "description": "Deletes networkpolicies", "operation": "Deletes/DeletesCollection networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", "display": { "description": "Reads ingresses", "operation": "Gets/List ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", "display": { "description": "Writes ingresses", "operation": "Creates/Updates ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", "display": { "description": "Deletes ingresses", "operation": "Deletes/DeletesCollection ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", "display": { "description": "Reads runtimeclasses", "operation": "Gets/List runtimeclasses resource", "provider": "Microsoft Container Service", "resource": "Runtimeclasses" }, - "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", "display": { "description": "Writes runtimeclasses", "operation": "Creates/Updates runtimeclasses resource", "provider": "Microsoft Container Service", "resource": "Runtimeclasses" }, - "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", "display": { "description": "Deletes runtimeclasses", "operation": "Deletes/DeletesCollection runtimeclasses resource", "provider": "Microsoft Container Service", "resource": "Runtimeclasses" }, - "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/api/read", "display": { "description": "Reads api", "operation": "Gets/List api resource", "provider": "Microsoft Container Service", "resource": "Api" }, - "name": "Microsoft.ContainerService/managedClusters/api/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", "display": { "description": "Reads api/v1", "operation": "Gets/List api/v1 resource", "provider": "Microsoft Container Service", "resource": "Api/V1" }, - "name": "Microsoft.ContainerService/managedClusters/api/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/read", "display": { "description": "Reads apis", "operation": "Gets/List apis resource", "provider": "Microsoft Container Service", "resource": "Apis" }, - "name": "Microsoft.ContainerService/managedClusters/apis/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", "display": { "description": "Reads admissionregistration.k8s.io", "operation": "Gets/List admissionregistration.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Admissionregistration.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", "display": { "description": "Reads admissionregistration.k8s.io/v1", "operation": "Gets/List admissionregistration.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Admissionregistration.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", "display": { "description": "Reads admissionregistration.k8s.io/v1beta1", "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Admissionregistration.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", "display": { "description": "Reads apiextensions.k8s.io", "operation": "Gets/List apiextensions.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Apiextensions.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", "display": { "description": "Reads apiextensions.k8s.io/v1", "operation": "Gets/List apiextensions.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Apiextensions.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", "display": { "description": "Reads apiextensions.k8s.io/v1beta1", "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Apiextensions.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", "display": { "description": "Reads apiregistration.k8s.io", "operation": "Gets/List apiregistration.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Apiregistration.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", "display": { "description": "Reads apiregistration.k8s.io/v1", "operation": "Gets/List apiregistration.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Apiregistration.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", "display": { "description": "Reads apiregistration.k8s.io/v1beta1", "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Apiregistration.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", "display": { "description": "Reads apps", "operation": "Gets/List apps resource", "provider": "Microsoft Container Service", "resource": "Apps" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", "display": { "description": "Reads apps/v1", "operation": "Gets/List apps/v1 resource", "provider": "Microsoft Container Service", "resource": "Apps/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", "display": { "description": "Reads apps/v1beta1", "operation": "Gets/List apps/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Apps/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", "display": { "description": "Reads apps/v1beta2", "operation": "Gets/List apps/v1beta2 resource", "provider": "Microsoft Container Service", "resource": "Apps/V1beta2" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", "display": { "description": "Reads authentication.k8s.io", "operation": "Gets/List authentication.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Authentication.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", "display": { "description": "Reads authentication.k8s.io/v1", "operation": "Gets/List authentication.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Authentication.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", "display": { "description": "Reads authentication.k8s.io/v1beta1", "operation": "Gets/List authentication.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Authentication.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", "display": { "description": "Reads authorization.k8s.io", "operation": "Gets/List authorization.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Authorization.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", "display": { "description": "Reads authorization.k8s.io/v1", "operation": "Gets/List authorization.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Authorization.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", "display": { "description": "Reads authorization.k8s.io/v1beta1", "operation": "Gets/List authorization.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Authorization.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", "display": { "description": "Reads autoscaling", "operation": "Gets/List autoscaling resource", "provider": "Microsoft Container Service", "resource": "Autoscaling" }, - "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", "display": { "description": "Reads autoscaling/v1", "operation": "Gets/List autoscaling/v1 resource", "provider": "Microsoft Container Service", "resource": "Autoscaling/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", "display": { "description": "Reads autoscaling/v2beta1", "operation": "Gets/List autoscaling/v2beta1 resource", "provider": "Microsoft Container Service", "resource": "Autoscaling/V2beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", "display": { "description": "Reads autoscaling/v2beta2", "operation": "Gets/List autoscaling/v2beta2 resource", "provider": "Microsoft Container Service", "resource": "Autoscaling/V2beta2" }, - "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", "display": { "description": "Reads batch", "operation": "Gets/List batch resource", "provider": "Microsoft Container Service", "resource": "Batch" }, - "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", "display": { "description": "Reads batch/v1", "operation": "Gets/List batch/v1 resource", "provider": "Microsoft Container Service", "resource": "Batch/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", "display": { "description": "Reads batch/v1beta1", "operation": "Gets/List batch/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Batch/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", "display": { "description": "Reads certificates.k8s.io", "operation": "Gets/List certificates.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Certificates.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", "display": { "description": "Reads certificates.k8s.io/v1beta1", "operation": "Gets/List certificates.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Certificates.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", "display": { "description": "Reads coordination.k8s.io", "operation": "Gets/List coordination.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Coordination.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", "display": { "description": "Reads coordination/v1", "operation": "Gets/List coordination/v1 resource", "provider": "Microsoft Container Service", "resource": "Coordination.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", "display": { "description": "Reads coordination.k8s.io/v1beta1", "operation": "Gets/List coordination.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Coordination.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", "display": { "description": "Reads events.k8s.io", "operation": "Gets/List events.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Events.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", "display": { "description": "Reads events.k8s.io/v1beta1", "operation": "Gets/List events.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Events.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", "display": { "description": "Reads extensions", "operation": "Gets/List extensions resource", "provider": "Microsoft Container Service", "resource": "Extensions" }, - "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", "display": { "description": "Reads extensions/v1beta1", "operation": "Gets/List extensions/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Extensions/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", "display": { "description": "Reads metrics.k8s.io", "operation": "Gets/List metrics.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Metrics.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", "display": { "description": "Reads metrics.k8s.io/v1beta1", "operation": "Gets/List metrics.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Metrics.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", "display": { "description": "Reads networking.k8s.io", "operation": "Gets/List networking.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Networking.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", "display": { "description": "Reads networking/v1", "operation": "Gets/List networking/v1 resource", "provider": "Microsoft Container Service", "resource": "Networking.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", "display": { "description": "Reads networking.k8s.io/v1beta1", "operation": "Gets/List networking.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Networking.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", "display": { "description": "Reads node.k8s.io", "operation": "Gets/List node.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Node.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", "display": { "description": "Reads node.k8s.io/v1beta1", "operation": "Gets/List node.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Node.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", "display": { "description": "Reads policy", "operation": "Gets/List policy resource", "provider": "Microsoft Container Service", "resource": "Policy" }, - "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", "display": { "description": "Reads policy/v1beta1", "operation": "Gets/List policy/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Policy/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", "display": { "description": "Reads rbac.authorization.k8s.io", "operation": "Gets/List rbac.authorization.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Rbac.Authorization.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", "display": { "description": "Reads rbac.authorization/v1", "operation": "Gets/List rbac.authorization/v1 resource", "provider": "Microsoft Container Service", "resource": "Rbac.Authorization.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", "display": { "description": "Reads rbac.authorization.k8s.io/v1beta1", "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Rbac.Authorization.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", "display": { "description": "Reads scheduling.k8s.io", "operation": "Gets/List scheduling.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Scheduling.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", "display": { "description": "Reads scheduling/v1", "operation": "Gets/List scheduling/v1 resource", "provider": "Microsoft Container Service", "resource": "Scheduling.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", "display": { "description": "Reads scheduling.k8s.io/v1beta1", "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Scheduling.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", "display": { "description": "Reads storage.k8s.io", "operation": "Gets/List storage.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Storage.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", "display": { "description": "Reads storage/v1", "operation": "Gets/List storage/v1 resource", "provider": "Microsoft Container Service", "resource": "Storage.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", "display": { "description": "Reads storage.k8s.io/v1beta1", "operation": "Gets/List storage.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Storage.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/read", "display": { "description": "Reads healthz", "operation": "Gets/List healthz resource", "provider": "Microsoft Container Service", "resource": "Healthz" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", "display": { "description": "Reads autoregister-completion", "operation": "Gets/List autoregister-completion resource", "provider": "Microsoft Container Service", "resource": "Healthz/Autoregister-Completion" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", "display": { "description": "Reads etcd", "operation": "Gets/List etcd resource", "provider": "Microsoft Container Service", "resource": "Healthz/Etcd" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", "display": { "description": "Reads log", "operation": "Gets/List log resource", "provider": "Microsoft Container Service", "resource": "Healthz/Log" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", "display": { "description": "Reads ping", "operation": "Gets/List ping resource", "provider": "Microsoft Container Service", "resource": "Healthz/Ping" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", "display": { "description": "Reads apiservice-openapi-controller", "operation": "Gets/List apiservice-openapi-controller resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", "display": { "description": "Reads apiservice-registration-controller", "operation": "Gets/List apiservice-registration-controller resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", "display": { "description": "Reads apiservice-status-available-controller", "operation": "Gets/List apiservice-status-available-controller resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", "display": { "description": "Reads bootstrap-controller", "operation": "Gets/List bootstrap-controller resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Bootstrap-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", "display": { "description": "Reads ca-registration", "operation": "Gets/List ca-registration resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Ca-Registration" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", "display": { "description": "Reads crd-informer-synced", "operation": "Gets/List crd-informer-synced resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Crd-Informer-Synced" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", "display": { "description": "Reads generic-apiserver-start-informers", "operation": "Gets/List generic-apiserver-start-informers resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", "display": { "description": "Reads kube-apiserver-autoregistration", "operation": "Gets/List kube-apiserver-autoregistration resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", "display": { "description": "Reads bootstrap-roles", "operation": "Gets/List bootstrap-roles resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Bootstrap-Roles" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", "display": { "description": "Reads bootstrap-system-priority-classes", "operation": "Gets/List bootstrap-system-priority-classes resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", "display": { "description": "Reads start-apiextensions-controllers", "operation": "Gets/List start-apiextensions-controllers resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", "display": { "description": "Reads start-apiextensions-informers", "operation": "Gets/List start-apiextensions-informers resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", "display": { "description": "Reads start-kube-aggregator-informers", "operation": "Gets/List start-kube-aggregator-informers resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", "display": { "description": "Reads start-kube-apiserver-admission-initializer", "operation": "Gets/List start-kube-apiserver-admission-initializer resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/read", "display": { "description": "Reads livez", "operation": "Gets/List livez resource", "provider": "Microsoft Container Service", "resource": "Livez" }, - "name": "Microsoft.ContainerService/managedClusters/livez/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", "display": { "description": "Reads autoregister-completion", "operation": "Gets/List autoregister-completion resource", "provider": "Microsoft Container Service", "resource": "Livez/Autoregister-Completion" }, - "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", "display": { "description": "Reads etcd", "operation": "Gets/List etcd resource", "provider": "Microsoft Container Service", "resource": "Livez/Etcd" }, - "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", "display": { "description": "Reads log", "operation": "Gets/List log resource", "provider": "Microsoft Container Service", "resource": "Livez/Log" }, - "name": "Microsoft.ContainerService/managedClusters/livez/log/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", "display": { "description": "Reads ping", "operation": "Gets/List ping resource", "provider": "Microsoft Container Service", "resource": "Livez/Ping" }, - "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", "display": { "description": "Reads apiservice-openapi-controller", "operation": "Gets/List apiservice-openapi-controller resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", "display": { "description": "Reads apiservice-registration-controller", "operation": "Gets/List apiservice-registration-controller resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", "display": { "description": "Reads apiservice-status-available-controller", "operation": "Gets/List apiservice-status-available-controller resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", "display": { "description": "Reads bootstrap-controller", "operation": "Gets/List bootstrap-controller resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Bootstrap-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", "display": { "description": "Reads ca-registration", "operation": "Gets/List ca-registration resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Ca-Registration" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", "display": { "description": "Reads crd-informer-synced", "operation": "Gets/List crd-informer-synced resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Crd-Informer-Synced" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", "display": { "description": "Reads generic-apiserver-start-informers", "operation": "Gets/List generic-apiserver-start-informers resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", "display": { "description": "Reads kube-apiserver-autoregistration", "operation": "Gets/List kube-apiserver-autoregistration resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", "display": { "description": "Reads bootstrap-roles", "operation": "Gets/List bootstrap-roles resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Bootstrap-Roles" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", "display": { "description": "Reads bootstrap-system-priority-classes", "operation": "Gets/List bootstrap-system-priority-classes resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", "display": { "description": "Reads start-apiextensions-controllers", "operation": "Gets/List start-apiextensions-controllers resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", "display": { "description": "Reads start-apiextensions-informers", "operation": "Gets/List start-apiextensions-informers resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", "display": { "description": "Reads start-kube-aggregator-informers", "operation": "Gets/List start-kube-aggregator-informers resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", "display": { "description": "Reads start-kube-apiserver-admission-initializer", "operation": "Gets/List start-kube-apiserver-admission-initializer resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/logs/read", "display": { "description": "Reads logs", "operation": "Gets/List logs resource", "provider": "Microsoft Container Service", "resource": "Logs" }, - "name": "Microsoft.ContainerService/managedClusters/logs/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/metrics/read", "display": { "description": "Reads metrics", "operation": "Gets/List metrics resource", "provider": "Microsoft Container Service", "resource": "Metrics" }, - "name": "Microsoft.ContainerService/managedClusters/metrics/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", "display": { "description": "Reads v2", "operation": "Gets/List v2 resource", "provider": "Microsoft Container Service", "resource": "Openapi/V2" }, - "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/read", "display": { "description": "Reads readyz", "operation": "Gets/List readyz resource", "provider": "Microsoft Container Service", "resource": "Readyz" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", "display": { "description": "Reads autoregister-completion", "operation": "Gets/List autoregister-completion resource", "provider": "Microsoft Container Service", "resource": "Readyz/Autoregister-Completion" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", "display": { "description": "Reads etcd", "operation": "Gets/List etcd resource", "provider": "Microsoft Container Service", "resource": "Readyz/Etcd" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", "display": { "description": "Reads log", "operation": "Gets/List log resource", "provider": "Microsoft Container Service", "resource": "Readyz/Log" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", "display": { "description": "Reads ping", "operation": "Gets/List ping resource", "provider": "Microsoft Container Service", "resource": "Readyz/Ping" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", "display": { "description": "Reads apiservice-openapi-controller", "operation": "Gets/List apiservice-openapi-controller resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", "display": { "description": "Reads apiservice-registration-controller", "operation": "Gets/List apiservice-registration-controller resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", "display": { "description": "Reads apiservice-status-available-controller", "operation": "Gets/List apiservice-status-available-controller resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", "display": { "description": "Reads bootstrap-controller", "operation": "Gets/List bootstrap-controller resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Bootstrap-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", "display": { "description": "Reads ca-registration", "operation": "Gets/List ca-registration resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Ca-Registration" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", "display": { "description": "Reads crd-informer-synced", "operation": "Gets/List crd-informer-synced resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Crd-Informer-Synced" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", "display": { "description": "Reads generic-apiserver-start-informers", "operation": "Gets/List generic-apiserver-start-informers resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", "display": { "description": "Reads kube-apiserver-autoregistration", "operation": "Gets/List kube-apiserver-autoregistration resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", "display": { "description": "Reads bootstrap-roles", "operation": "Gets/List bootstrap-roles resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Bootstrap-Roles" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", "display": { "description": "Reads bootstrap-system-priority-classes", "operation": "Gets/List bootstrap-system-priority-classes resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", "display": { "description": "Reads start-apiextensions-controllers", "operation": "Gets/List start-apiextensions-controllers resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", "display": { "description": "Reads start-apiextensions-informers", "operation": "Gets/List start-apiextensions-informers resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", "display": { "description": "Reads start-kube-aggregator-informers", "operation": "Gets/List start-kube-aggregator-informers resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", "display": { "description": "Reads start-kube-apiserver-admission-initializer", "operation": "Gets/List start-kube-apiserver-admission-initializer resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", "display": { "description": "Reads shutdown", "operation": "Gets/List shutdown resource", "provider": "Microsoft Container Service", "resource": "Readyz/Shutdown" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", "display": { "description": "Reads resetMetrics", "operation": "Gets/List resetMetrics resource", "provider": "Microsoft Container Service", "resource": "Resetmetrics" }, - "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", "display": { "description": "Reads swagger-ui", "operation": "Gets/List swagger-ui resource", "provider": "Microsoft Container Service", "resource": "Swagger-Ui" }, - "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", "display": { "description": "Reads swagger-api", "operation": "Gets/List swagger-api resource", "provider": "Microsoft Container Service", "resource": "Swagger-Api" }, - "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/ui/read", "display": { "description": "Reads ui", "operation": "Gets/List ui resource", "provider": "Microsoft Container Service", "resource": "Ui" }, - "name": "Microsoft.ContainerService/managedClusters/ui/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/version/read", "display": { "description": "Reads version", "operation": "Gets/List version resource", "provider": "Microsoft Container Service", "resource": "Version" }, - "name": "Microsoft.ContainerService/managedClusters/version/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", "display": { "description": "Reads poddisruptionbudgets", "operation": "Gets/List poddisruptionbudgets resource", "provider": "Microsoft Container Service", "resource": "Poddisruptionbudgets" }, - "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", "display": { "description": "Writes poddisruptionbudgets", "operation": "Creates/Updates poddisruptionbudgets resource", "provider": "Microsoft Container Service", "resource": "Poddisruptionbudgets" }, - "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", "display": { "description": "Deletes poddisruptionbudgets", "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", "provider": "Microsoft Container Service", "resource": "Poddisruptionbudgets" }, - "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", "display": { "description": "Reads podsecuritypolicies", "operation": "Gets/List podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", "display": { "description": "Writes podsecuritypolicies", "operation": "Creates/Updates podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", "display": { "description": "Deletes podsecuritypolicies", "operation": "Deletes/DeletesCollection podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", "display": { "description": "Reads clusterrolebindings", "operation": "Gets/List clusterrolebindings resource", "provider": "Microsoft Container Service", "resource": "Clusterrolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", "display": { "description": "Writes clusterrolebindings", "operation": "Creates/Updates clusterrolebindings resource", "provider": "Microsoft Container Service", "resource": "Clusterrolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", "display": { "description": "Deletes clusterrolebindings", "operation": "Deletes/DeletesCollection clusterrolebindings resource", "provider": "Microsoft Container Service", "resource": "Clusterrolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", "display": { "description": "Reads clusterroles", "operation": "Gets/List clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", "display": { "description": "Writes clusterroles", "operation": "Creates/Updates clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", "display": { "description": "Deletes clusterroles", "operation": "Deletes/DeletesCollection clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", "display": { "description": "Reads rolebindings", "operation": "Gets/List rolebindings resource", "provider": "Microsoft Container Service", "resource": "Rolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", "display": { "description": "Writes rolebindings", "operation": "Creates/Updates rolebindings resource", "provider": "Microsoft Container Service", "resource": "Rolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", "display": { "description": "Deletes rolebindings", "operation": "Deletes/DeletesCollection rolebindings resource", "provider": "Microsoft Container Service", "resource": "Rolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", "display": { "description": "Reads roles", "operation": "Gets/List roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", "display": { "description": "Writes roles", "operation": "Creates/Updates roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", "display": { "description": "Deletes roles", "operation": "Deletes/DeletesCollection roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", "display": { "description": "Reads priorityclasses", "operation": "Gets/List priorityclasses resource", "provider": "Microsoft Container Service", "resource": "Priorityclasses" }, - "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", "display": { "description": "Writes priorityclasses", "operation": "Creates/Updates priorityclasses resource", "provider": "Microsoft Container Service", "resource": "Priorityclasses" }, - "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", "display": { "description": "Deletes priorityclasses", "operation": "Deletes/DeletesCollection priorityclasses resource", "provider": "Microsoft Container Service", "resource": "Priorityclasses" }, - "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", "display": { "description": "Use action on podsecuritypolicies", "operation": "Use podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", "display": { "description": "Binds clusterroles", "operation": "Bind clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", "display": { "description": "Escalates", "operation": "Escalate clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", "display": { "description": "Binds roles", "operation": "Bind roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", "display": { "description": "Escalates roles", "operation": "Escalate roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", "display": { "description": "Impersonate serviceaccounts", "operation": "Impersonate serviceaccounts resource", "provider": "Microsoft Container Service", "resource": "Serviceaccounts" }, - "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", "display": { "description": "Impersonate users", "operation": "Impersonate users resource", "provider": "Microsoft Container Service", "resource": "Users" }, - "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", "display": { "description": "Impersonate groups", "operation": "Impersonate groups resource", "provider": "Microsoft Container Service", "resource": "Groups" }, - "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", "display": { "description": "Impersonate userextras", "operation": "Impersonate userextras resource", "provider": "Microsoft Container Service", "resource": "Userextras" }, - "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", "display": { "description": "Reads storageclasses", "operation": "Gets/List storageclasses resource", "provider": "Microsoft Container Service", "resource": "Storageclasses" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", "display": { "description": "Writes storageclasses", "operation": "Creates/Updates storageclasses resource", "provider": "Microsoft Container Service", "resource": "Storageclasses" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", "display": { "description": "Deletes storageclasses", "operation": "Deletes/DeletesCollection storageclasses resource", "provider": "Microsoft Container Service", "resource": "Storageclasses" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", "display": { "description": "Reads volumeattachments", "operation": "Gets/List volumeattachments resource", "provider": "Microsoft Container Service", "resource": "Volumeattachments" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", "display": { "description": "Writes volumeattachments", "operation": "Creates/Updates volumeattachments resource", "provider": "Microsoft Container Service", "resource": "Volumeattachments" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", "display": { "description": "Deletes volumeattachments", "operation": "Deletes/DeletesCollection volumeattachments resource", "provider": "Microsoft Container Service", "resource": "Volumeattachments" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", "display": { "description": "Reads csidrivers", "operation": "Gets/List csidrivers resource", "provider": "Microsoft Container Service", "resource": "Csidrivers" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", "display": { "description": "Writes csidrivers", "operation": "Creates/Updates csidrivers resource", "provider": "Microsoft Container Service", "resource": "Csidrivers" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", "display": { "description": "Deletes csidrivers", "operation": "Deletes/DeletesCollection csidrivers resource", "provider": "Microsoft Container Service", "resource": "Csidrivers" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", "display": { "description": "Reads csinodes", "operation": "Gets/List csinodes resource", "provider": "Microsoft Container Service", "resource": "Csinodes" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", "display": { "description": "Writes csinodes", "operation": "Creates/Updates csinodes resource", "provider": "Microsoft Container Service", "resource": "Csinodes" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", "display": { "description": "Deletes csinodes", "operation": "Deletes/DeletesCollection csinodes resource", "provider": "Microsoft Container Service", "resource": "Csinodes" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", "display": { "description": "Gets the available metrics for Managed Cluster", "operation": "Read Managed Cluster metric definitions", "provider": "Microsoft Container Service", "resource": "The metric definition of Managed Cluster" }, - "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", "display": { "description": "Gets the available logs for Managed Cluster", "operation": "Read Managed Cluster log definitions", "provider": "Microsoft Container Service", "resource": "The log definition of Managed Cluster" }, - "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", "display": { "description": "Get a Open Shift Managed Cluster", "operation": "Get Open Shift Managed Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Managed Cluster" }, - "name": "Microsoft.ContainerService/openShiftManagedClusters/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", "display": { "description": "Creates a new Open Shift Managed Cluster or updates an existing one", "operation": "Create or Update Open Shift Managed Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Managed Cluster" }, - "name": "Microsoft.ContainerService/openShiftManagedClusters/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", "display": { "description": "Delete a Open Shift Managed Cluster", "operation": "Delete Open Shift Managed Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Managed Cluster" }, - "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftClusters/read", "display": { "description": "Get a Open Shift Cluster", "operation": "Get Open Shift Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Cluster" }, - "name": "Microsoft.ContainerService/openShiftClusters/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftClusters/write", "display": { "description": "Creates a new Open Shift Cluster or updates an existing one", "operation": "Create or Update Open Shift Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Cluster" }, - "name": "Microsoft.ContainerService/openShiftClusters/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftClusters/delete", "display": { "description": "Delete a Open Shift Cluster", "operation": "Delete Open Shift Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Cluster" }, - "name": "Microsoft.ContainerService/openShiftClusters/delete", "origin": "user,system" } ] } } - } + }, + "operationId": "Operations_List", + "title": "List available operations for the container service resource provider" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json index d69f667fa90d..e579e16a84c9 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -48,9 +48,9 @@ "domainName": "*.data.mcr.microsoft.com", "endpointDetails": [ { + "description": "mcr cdn", "port": 443, - "protocol": "Https", - "description": "mcr cdn" + "protocol": "Https" } ] } @@ -238,5 +238,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "title": "List OutboundNetworkDependenciesEndpoints by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsDelete.json index 838ddfcbb784..929cf68ab5a3 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsDelete.json @@ -1,13 +1,20 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "privateEndpointConnectionName": "privateendpointconnection1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "privateEndpointConnectionName": "privateendpointconnection1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + }, "204": {} - } + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "Delete Private Endpoint Connection" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsGet.json index 3a3763cf43c1..b19fcb362ab5 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsGet.json @@ -1,17 +1,17 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "privateEndpointConnectionName": "privateendpointconnection1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "privateEndpointConnectionName": "privateendpointconnection1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "name": "privateendpointconnection1", "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "properties": { "privateEndpoint": { "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" @@ -23,5 +23,7 @@ } } } - } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "Get Private Endpoint Connection" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsList.json index 7e4ee5be3353..a1a4f8fcc533 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsList.json @@ -1,18 +1,18 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "name": "privateendpointconnection1", "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "properties": { "privateEndpoint": { "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" @@ -26,5 +26,7 @@ ] } } - } + }, + "operationId": "PrivateEndpointConnections_List", + "title": "List Private Endpoint Connections by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsUpdate.json index c1e169e78715..63a619b1910f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsUpdate.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateEndpointConnectionsUpdate.json @@ -1,24 +1,24 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", - "privateEndpointConnectionName": "privateendpointconnection1", "parameters": { "properties": { "privateLinkServiceConnectionState": { "status": "Approved" } } - } + }, + "privateEndpointConnectionName": "privateendpointconnection1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "name": "privateendpointconnection1", "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "properties": { "privateEndpoint": { "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" @@ -32,9 +32,9 @@ }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "name": "privateendpointconnection1", "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "properties": { "privateEndpoint": { "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" @@ -46,5 +46,7 @@ } } } - } + }, + "operationId": "PrivateEndpointConnections_Update", + "title": "Update Private Endpoint Connection" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateLinkResourcesList.json index c57eacb938c4..372406deb536 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateLinkResourcesList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/PrivateLinkResourcesList.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -13,13 +13,15 @@ "name": "management", "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", "groupId": "management", + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName", "requiredMembers": [ "management" - ], - "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + ] } ] } } - } + }, + "operationId": "PrivateLinkResources_List", + "title": "List Private Link Resources by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ResolvePrivateLinkServiceId.json index 0d322a01206e..67d1a56f8a70 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ResolvePrivateLinkServiceId.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/ResolvePrivateLinkServiceId.json @@ -1,12 +1,12 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "name": "management" - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -14,5 +14,7 @@ "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" } } - } + }, + "operationId": "ResolvePrivateLinkServiceId_POST", + "title": "Resolve the Private Link Service ID for Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandRequest.json index 95251d9006f0..3e12e1023ca7 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandRequest.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandRequest.json @@ -1,33 +1,35 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "requestPayload": { + "clusterToken": "", "command": "kubectl apply -f ns.yaml", - "context": "", - "clusterToken": "" - } + "context": "" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" - } - }, "200": { "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", "body": { "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", "properties": { - "provisioningState": "succeeded", "exitCode": 0, - "startedAt": "2021-02-17T00:28:20Z", "finishedAt": "2021-02-17T00:28:33Z", - "logs": "namespace dummy created" + "logs": "namespace dummy created", + "provisioningState": "succeeded", + "startedAt": "2021-02-17T00:28:20Z" } } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" + } } - } + }, + "operationId": "ManagedClusters_RunCommand", + "title": "submitNewCommand" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandResultFailed.json index db549809c3de..f523caa9079d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandResultFailed.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandResultFailed.json @@ -1,17 +1,12 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9", "resourceGroupName": "rg1", "resourceName": "clustername1", - "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" - } - }, "200": { "body": { "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", @@ -20,6 +15,13 @@ "reason": "ImagePullBackoff" } } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" + } } - } + }, + "operationId": "ManagedClusters_GetCommandResult", + "title": "commandFailedResult" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandResultSucceed.json index 736c63e502b0..c591203521e0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandResultSucceed.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/RunCommandResultSucceed.json @@ -1,28 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9", "resourceGroupName": "rg1", "resourceName": "clustername1", - "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" - } - }, "200": { "body": { "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", "properties": { - "provisioningState": "succeeded", "exitCode": 0, - "startedAt": "2021-02-17T00:28:20Z", "finishedAt": "2021-02-17T00:28:33Z", - "logs": "namespace dummy created" + "logs": "namespace dummy created", + "provisioningState": "succeeded", + "startedAt": "2021-02-17T00:28:20Z" } } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-02-preview" + } } - } + }, + "operationId": "ManagedClusters_GetCommandResult", + "title": "commandSucceedResult" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsCreate.json index d72cc2a25302..1db82e886d00 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsCreate.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsCreate.json @@ -1,80 +1,82 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "snapshot1", "parameters": { "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" } + }, + "tags": { + "key1": "val1", + "key2": "val2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } }, "201": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "Snapshots_CreateOrUpdate", + "title": "Create/Update Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsDelete.json index 4542cbc47455..ad53f3d3039c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsDelete.json @@ -1,12 +1,14 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "snapshot1" + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "Snapshots_Delete", + "title": "Delete Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsGet.json index 23b5754a7dda..e42e27731b0e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsGet.json @@ -1,39 +1,41 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "snapshot1" + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "Snapshots_Get", + "title": "Get Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsList.json index 292584d829d9..b64cd3f7c5d5 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsList.json @@ -9,33 +9,35 @@ "value": [ { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } ] } } - } + }, + "operationId": "Snapshots_List", + "title": "List Snapshots" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsListByResourceGroup.json index d3f53f2fb689..fd170dc46745 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsListByResourceGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsListByResourceGroup.json @@ -1,8 +1,8 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1" + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -10,33 +10,35 @@ "value": [ { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } ] } } - } + }, + "operationId": "Snapshots_ListByResourceGroup", + "title": "List Snapshots by Resource Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsUpdateTags.json index f0d41789527d..0e3c368cf484 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsUpdateTags.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/SnapshotsUpdateTags.json @@ -1,45 +1,47 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "snapshot1", "parameters": { "tags": { "key2": "new-val2", "key3": "val3" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "Snapshots_UpdateTags", + "title": "Update Snapshot Tags" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json index 7bc880dfafe9..154fac712263 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json @@ -1,48 +1,50 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "trustedAccessRoleBindingName": "binding1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "trustedAccessRoleBinding": { "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } - } + }, + "trustedAccessRoleBindingName": "binding1" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", - "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", - "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } } } - } + }, + "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", + "title": "Create or update a trusted access role binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_Delete.json index 7a0db28a0ac1..674cb3a08f23 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_Delete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_Delete.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "trustedAccessRoleBindingName": "binding1" }, "responses": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "TrustedAccessRoleBindings_Delete", + "title": "Delete a trusted access role binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_Get.json index 910eb2007cbb..586c3d50cff9 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_Get.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_Get.json @@ -1,25 +1,27 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "trustedAccessRoleBindingName": "binding1" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", - "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } } } - } + }, + "operationId": "TrustedAccessRoleBindings_Get", + "title": "Get a trusted access role binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_List.json index 240e9ce9853e..4d245e9971fd 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoleBindings_List.json @@ -1,28 +1,30 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", - "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } } ] } } - } + }, + "operationId": "TrustedAccessRoleBindings_List", + "title": "List trusted access role bindings" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoles_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoles_List.json index f0a481eae94e..c2a8ce6d60c4 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoles_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/examples/TrustedAccessRoles_List.json @@ -1,34 +1,36 @@ { "parameters": { "api-version": "2025-10-02-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "westus2" + "location": "westus2", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "sourceResourceType": "Microsoft.MachineLearningServices/workspaces", "name": "reader", "rules": [ { - "verbs": [ - "get" - ], "apiGroups": [ "" ], + "nonResourceURLs": [], + "resourceNames": [], "resources": [ "pods" ], - "resourceNames": [], - "nonResourceURLs": [] + "verbs": [ + "get" + ] } - ] + ], + "sourceResourceType": "Microsoft.MachineLearningServices/workspaces" } ] } } - } + }, + "operationId": "TrustedAccessRoles_List", + "title": "List trusted access roles" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/managedClusters.json index 5f7720e970da..f23116484a74 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2025-10-02-preview/managedClusters.json @@ -2,17 +2,22 @@ "swagger": "2.0", "info": { "title": "ContainerServiceClient", + "version": "2025-10-02-preview", "description": "The Container Service Client.", - "version": "2025-10-02-preview" + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], "security": [ @@ -25,1489 +30,1974 @@ "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, + "tags": [ + { + "name": "AgentPools" + }, + { + "name": "ManagedClusters" + }, + { + "name": "privateLinkResources" + }, + { + "name": "resolvePrivateLinkServiceId" + }, + { + "name": "GuardrailsAvailableVersions" + }, + { + "name": "SafeguardsAvailableVersions" + }, + { + "name": "MaintenanceConfigurations" + }, + { + "name": "ManagedNamespaces" + }, + { + "name": "Machines" + }, + { + "name": "PrivateEndpointConnections" + }, + { + "name": "Snapshots" + }, + { + "name": "ManagedClusterSnapshots" + }, + { + "name": "TrustedAccess" + }, + { + "name": "LoadBalancers" + }, + { + "name": "IdentityBindings" + }, + { + "name": "JWTAuthenticators" + }, + { + "name": "MeshMemberships" + } + ], "paths": { "/providers/Microsoft.ContainerService/operations": { "get": { + "operationId": "Operations_List", "tags": [ "ManagedClusters" ], - "operationId": "Operations_List", - "summary": "Gets a list of operations.", + "description": "Gets a list of operations.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": null - }, "x-ms-examples": { "List available operations for the container service resource provider": { "$ref": "./examples/Operation_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/kubernetesVersions": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions": { "get": { + "operationId": "ManagedClusters_ListGuardrailsVersions", "tags": [ - "ManagedClusters" + "GuardrailsAvailableVersions" ], - "operationId": "ManagedClusters_ListKubernetesVersions", - "summary": "Gets a list of supported Kubernetes versions in the specified subscription.", - "description": "Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades, and details on preview status of the version", + "summary": "Gets a list of supported Guardrails versions in the specified subscription and location.", + "description": "Contains list of Guardrails version along with its support info and whether it is a default version.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/KubernetesVersionListResult" + "$ref": "#/definitions/GuardrailsAvailableVersionsList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List Kubernetes Versions": { - "$ref": "./examples/KubernetesVersions_List.json" + "List Guardrails Versions": { + "$ref": "./examples/ListGuardrailsVersions.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/nodeImageVersions": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions/{version}": { "get": { + "operationId": "ManagedClusters_GetGuardrailsVersions", "tags": [ - "ContainerService" + "GuardrailsAvailableVersions" ], - "summary": "Gets a list of supported NodeImage versions in the specified subscription.", - "description": "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.", - "operationId": "ContainerService_ListNodeImageVersions", + "summary": "Gets supported Guardrails version in the specified subscription and location.", + "description": "Contains Guardrails version along with its support info and whether it is a default version.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "name": "version", + "in": "path", + "description": "Safeguards version", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24 } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/NodeImageVersionsListResult" + "$ref": "#/definitions/GuardrailsAvailableVersion" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Node Image Versions": { - "$ref": "./examples/NodeImageVersions_List.json" + "Get guardrails available versions": { + "$ref": "./examples/GetGuardrailsVersions.json" } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/kubernetesVersions": { "get": { + "operationId": "ManagedClusters_ListKubernetesVersions", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_List", - "summary": "Gets a list of managed clusters in the specified subscription.", + "summary": "Gets a list of supported Kubernetes versions in the specified subscription.", + "description": "Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades, and details on preview status of the version", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/ManagedClusterListResult" + "$ref": "#/definitions/KubernetesVersionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Managed Clusters": { - "$ref": "./examples/ManagedClustersList.json" + "List Kubernetes Versions": { + "$ref": "./examples/KubernetesVersions_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles": { "get": { + "operationId": "ManagedClusters_ListMeshRevisionProfiles", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListByResourceGroup", - "summary": "Lists managed clusters in the specified subscription and resource group.", + "summary": "Lists mesh revision profiles for all meshes in the specified location.", + "description": "Contains extra metadata on each revision, including supported revisions, cluster compatibility and available upgrades", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterListResult" + "$ref": "#/definitions/MeshRevisionProfileList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Get Managed Clusters by Resource Group": { - "$ref": "./examples/ManagedClustersListByResourceGroup.json" + "List mesh revision profiles in a location": { + "$ref": "./examples/ManagedClustersList_MeshRevisionProfiles.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles/{mode}": { "get": { + "operationId": "ManagedClusters_GetMeshRevisionProfile", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_GetUpgradeProfile", - "summary": "Gets the upgrade profile of a managed cluster.", + "summary": "Gets a mesh revision profile for a specified mesh in the specified location.", + "description": "Contains extra metadata on the revision, including supported revisions, cluster compatibility and available upgrades", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "mode", + "in": "path", + "description": "The mode of the mesh.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterUpgradeProfile" + "$ref": "#/definitions/MeshRevisionProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Upgrade Profile for Managed Cluster": { - "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + "Get a mesh revision profile for a mesh mode": { + "$ref": "./examples/ManagedClustersGet_MeshRevisionProfile.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { - "post": { - "deprecated": true, - "tags": [ - "ManagedClusters" - ], - "operationId": "ManagedClusters_GetAccessProfile", - "summary": "Gets an access profile of a managed cluster.", - "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/nodeImageVersions": { + "get": { + "operationId": "ContainerService_ListNodeImageVersions", + "summary": "Gets a list of supported NodeImage versions in the specified subscription.", + "description": "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.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "roleName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the role for managed cluster accessProfile resource." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/ManagedClusterAccessProfile" + "$ref": "#/definitions/NodeImageVersionsListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersGetAccessProfile.json" + "List Node Image Versions": { + "$ref": "./examples/NodeImageVersions_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/safeguardsVersions": { + "get": { + "operationId": "ManagedClusters_ListSafeguardsVersions", "tags": [ - "ManagedClusters" + "SafeguardsAvailableVersions" ], - "operationId": "ManagedClusters_ListClusterAdminCredentials", - "summary": "Lists the admin credentials of a managed cluster.", + "summary": "Gets a list of supported Safeguards versions in the specified subscription and location.", + "description": "Contains list of Safeguards version along with its support info and whether it is a default version.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ServerFqdnParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CredentialResults" + "$ref": "#/definitions/SafeguardsAvailableVersionsList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + "List Safeguards Versions": { + "$ref": "./examples/ListSafeguardsVersions.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/safeguardsVersions/{version}": { + "get": { + "operationId": "ManagedClusters_GetSafeguardsVersions", "tags": [ - "ManagedClusters" + "SafeguardsAvailableVersions" ], - "operationId": "ManagedClusters_ListClusterUserCredentials", - "summary": "Lists the user credentials of a managed cluster.", + "summary": "Gets supported Safeguards version in the specified subscription and location.", + "description": "Contains Safeguards version along with its support info and whether it is a default version.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ServerFqdnParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "$ref": "#/parameters/CredentialFormatParameter" + "name": "version", + "in": "path", + "description": "Safeguards version", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24 } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CredentialResults" + "$ref": "#/definitions/SafeguardsAvailableVersion" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + "Get Safeguards available versions": { + "$ref": "./examples/GetSafeguardsVersions.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/trustedAccessRoles": { + "get": { + "operationId": "TrustedAccessRoles_List", "tags": [ - "ManagedClusters" + "TrustedAccess" ], - "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", - "summary": "Lists the cluster monitoring user credentials of a managed cluster.", + "description": "List supported trusted access roles.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "$ref": "#/parameters/ServerFqdnParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/CredentialResults" + "$ref": "#/definitions/TrustedAccessRoleListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + "List trusted access roles": { + "$ref": "./examples/TrustedAccessRoles_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { "get": { + "operationId": "ManagedClusters_List", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_Get", - "summary": "Gets a managed cluster.", + "description": "Gets a list of managed clusters in the specified subscription.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedCluster" + "$ref": "#/definitions/ManagedClusterListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersGet.json" + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedclustersnapshots": { + "get": { + "operationId": "ManagedClusterSnapshots_List", "tags": [ - "ManagedClusters" + "ManagedClusterSnapshots" ], - "operationId": "ManagedClusters_CreateOrUpdate", - "summary": "Creates or updates a managed cluster.", + "description": "Gets a list of managed cluster snapshots in the specified subscription.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ManagedCluster" - }, - "description": "The managed cluster to create or update." - }, - { - "name": "If-Match", - "in": "header", - "description": "The request should only proceed if an entity matches this string.", - "required": false, - "type": "string", - "x-ms-client-name": "ifMatch" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "name": "If-None-Match", - "in": "header", - "description": "The request should only proceed if no entity matches this string.", - "required": false, - "type": "string", - "x-ms-client-name": "ifNoneMatch" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The existing managed cluster was successfully updated.", - "schema": { - "$ref": "#/definitions/ManagedCluster" - } - }, - "201": { - "description": "The new managed cluster was successfully created.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedCluster" + "$ref": "#/definitions/ManagedClusterSnapshotListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create/Update Managed Cluster": { - "$ref": "./examples/ManagedClustersCreate_Update.json" - }, - "Create/Update AAD Managed Cluster with EnableAzureRBAC": { - "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" - }, - "Create/Update Managed Cluster with EnableNamespaceResources": { - "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json" - }, - "Create Managed Cluster with PPG": { - "$ref": "./examples/ManagedClustersCreate_PPG.json" - }, - "Create Managed Cluster with OSSKU": { - "$ref": "./examples/ManagedClustersCreate_OSSKU.json" - }, - "Create Managed Cluster with GPUMIG": { - "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" - }, - "Create/Update Managed Cluster with EnableAHUB": { - "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" - }, - "Create Managed Cluster with EncryptionAtHost enabled": { - "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" - }, - "Create Managed Cluster with UltraSSD enabled": { - "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" - }, - "Create Managed Cluster with PodIdentity enabled": { - "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" - }, - "Create Managed Private Cluster with fqdn subdomain specified": { - "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" - }, - "Create Managed Private Cluster with Public FQDN specified": { - "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" - }, - "Create Managed Cluster with RunCommand disabled": { - "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" - }, - "Create Managed Cluster with LongTermSupport": { - "$ref": "./examples/ManagedClustersCreate_Premium.json" - }, - "Create Managed Cluster with Node Public IP Prefix": { - "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" - }, - "Create Managed Cluster with Azure Key Vault Secrets Provider Addon": { - "$ref": "./examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json" - }, - "Create/Update Managed Cluster with Azure Service Mesh": { - "$ref": "./examples/ManagedClustersCreate_AzureServiceMesh.json" - }, - "Create Managed Cluster with FIPS enabled OS": { - "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" - }, - "Create Managed Cluster with HTTP proxy configured": { - "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" - }, - "Create Managed Cluster with Security Profile configured": { - "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" - }, - "Create Managed Cluster with Web App Routing Ingress Profile configured": { - "$ref": "./examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json" - }, - "Create Managed Cluster with Application Load Balancer Profile configured": { - "$ref": "./examples/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json" - }, - "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { - "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" - }, - "Create Managed Cluster with user-assigned NAT gateway as outbound type": { - "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" - }, - "Create Managed Cluster using an agent pool snapshot": { - "$ref": "./examples/ManagedClustersCreate_Snapshot.json" - }, - "Create Managed Cluster using a managed cluster snapshot": { - "$ref": "./examples/ManagedClustersCreate_MCSnapshot.json" - }, - "Create/Update Managed Cluster with Windows gMSA enabled": { - "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" - }, - "Create/Update Managed Cluster with dual-stack networking": { - "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" - }, - "Associate Managed Cluster with Capacity Reservation Group": { - "$ref": "./examples/ManagedClustersAssociate_CRG.json" - }, - "Create Managed Cluster with Dedicated Host Group": { - "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json" - }, - "Create Managed Cluster with CustomCATrustCertificates populated": { - "$ref": "./examples/ManagedClustersCreate_CustomCATrustCertificates.json" - }, - "Create Managed Cluster with VirtualMachines pool type": { - "$ref": "./examples/ManagedClustersCreate_VirtualMachines.json" - }, - "Create Managed Cluster with AI Toolchain Operator enabled": { - "$ref": "./examples/ManagedClustersCreate_EnableAIToolchainOperator.json" - }, - "Create Managed Cluster with Node Auto Provisioning": { - "$ref": "./examples/ManagedClustersCreate_NodeAutoProvisioning.json" - }, - "Create Managed Cluster with Advanced Networking Transit Encryption": { - "$ref": "./examples/AdvancedNetworkingTransitEncryption.json" + "List Managed Cluster Snapshots": { + "$ref": "./examples/ManagedClusterSnapshotsList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "operationId": "Snapshots_List", "tags": [ - "ManagedClusters" + "Snapshots" ], - "operationId": "ManagedClusters_UpdateTags", - "summary": "Updates tags on a managed cluster.", + "description": "Gets a list of snapshots in the specified subscription.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to the Update Managed Cluster Tags operation." - }, - { - "name": "If-Match", - "in": "header", - "description": "The request should only proceed if an entity matches this string.", - "required": false, - "type": "string", - "x-ms-client-name": "ifMatch" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedCluster" + "$ref": "#/definitions/SnapshotListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Update Managed Cluster Tags": { - "$ref": "./examples/ManagedClustersUpdateTags.json" + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "operationId": "ManagedClusters_ListByResourceGroup", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_Delete", - "summary": "Deletes a managed cluster.", + "description": "Lists managed clusters in the specified subscription and resource group.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "If-Match", - "in": "header", - "description": "The request should only proceed if an entity matches this string.", - "required": false, - "type": "string", - "x-ms-client-name": "ifMatch" - }, - { - "$ref": "#/parameters/IgnorePodDisruptionBudgetParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Managed Cluster": { - "$ref": "./examples/ManagedClustersDelete.json" + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { "get": { + "operationId": "ManagedClusters_Get", "tags": [ - "MaintenanceConfigurations" + "ManagedClusters" ], - "operationId": "MaintenanceConfigurations_ListByManagedCluster", - "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "description": "Gets a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MaintenanceConfigurationListResult" + "$ref": "#/definitions/ManagedCluster" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List maintenance configurations configured with maintenance window by Managed Cluster": { - "$ref": "./examples/MaintenanceConfigurationsList_MaintenanceWindow.json" + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGet.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { - "get": { + }, + "put": { + "operationId": "ManagedClusters_CreateOrUpdate", "tags": [ - "MaintenanceConfigurations" + "ManagedClusters" ], - "operationId": "MaintenanceConfigurations_Get", - "summary": "Gets the specified maintenance configuration of a managed cluster.", + "description": "Creates or updates a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "configName", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'." - } - ], + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "if-match", + "in": "header", + "description": "The request should only proceed if an entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" + }, + { + "name": "if-none-match", + "in": "header", + "description": "The request should only proceed if no entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" + }, + { + "name": "parameters", + "in": "body", + "description": "The managed cluster to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + } + ], "responses": { "200": { - "description": "OK", + "description": "Resource 'ManagedCluster' update operation succeeded", "schema": { - "$ref": "#/definitions/MaintenanceConfiguration" + "$ref": "#/definitions/ManagedCluster" + } + }, + "201": { + "description": "Resource 'ManagedCluster' create operation succeeded", + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Maintenance Configuration Configured With Maintenance Window": { - "$ref": "./examples/MaintenanceConfigurationsGet_MaintenanceWindow.json" + "Associate Managed Cluster with Capacity Reservation Group": { + "$ref": "./examples/ManagedClustersAssociate_CRG.json" + }, + "Create Managed Cluster using a managed cluster snapshot": { + "$ref": "./examples/ManagedClustersCreate_MCSnapshot.json" + }, + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" + }, + "Create Managed Cluster with AI Toolchain Operator enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableAIToolchainOperator.json" + }, + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" + }, + "Create Managed Cluster with Advanced Networking Transit Encryption": { + "$ref": "./examples/AdvancedNetworkingTransitEncryption.json" + }, + "Create Managed Cluster with Application Load Balancer Profile configured": { + "$ref": "./examples/ManagedClustersCreate_IngressProfile_ApplicationLoadBalancer.json" + }, + "Create Managed Cluster with Azure Key Vault Secrets Provider Addon": { + "$ref": "./examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json" + }, + "Create Managed Cluster with CustomCATrustCertificates populated": { + "$ref": "./examples/ManagedClustersCreate_CustomCATrustCertificates.json" + }, + "Create Managed Cluster with Dedicated Host Group": { + "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json" + }, + "Create Managed Cluster with EncryptionAtHost enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" + }, + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + }, + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + }, + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + }, + "Create Managed Cluster with LongTermSupport": { + "$ref": "./examples/ManagedClustersCreate_Premium.json" + }, + "Create Managed Cluster with Node Auto Provisioning": { + "$ref": "./examples/ManagedClustersCreate_NodeAutoProvisioning.json" + }, + "Create Managed Cluster with Node Public IP Prefix": { + "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" + }, + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + }, + "Create Managed Cluster with Security Profile configured": { + "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" + }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, + "Create Managed Cluster with VirtualMachines pool type": { + "$ref": "./examples/ManagedClustersCreate_VirtualMachines.json" + }, + "Create Managed Cluster with Web App Routing Ingress Profile configured": { + "$ref": "./examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json" + }, + "Create Managed Cluster with user-assigned NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" + }, + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + }, + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create/Update Managed Cluster": { + "$ref": "./examples/ManagedClustersCreate_Update.json" + }, + "Create/Update Managed Cluster with Azure Service Mesh": { + "$ref": "./examples/ManagedClustersCreate_AzureServiceMesh.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create/Update Managed Cluster with EnableNamespaceResources": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/ManagedCluster" + }, + "x-ms-long-running-operation": true }, - "put": { + "patch": { + "operationId": "ManagedClusters_UpdateTags", "tags": [ - "MaintenanceConfigurations" + "ManagedClusters" ], - "operationId": "MaintenanceConfigurations_CreateOrUpdate", - "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "description": "Updates tags on a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "configName", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'." + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "if-match", + "in": "header", + "description": "The request should only proceed if an entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "parameters", "in": "body", + "description": "Parameters supplied to the Update Managed Cluster Tags operation.", "required": true, "schema": { - "$ref": "#/definitions/MaintenanceConfiguration" - }, - "description": "The maintenance configuration to create or update." + "$ref": "#/definitions/TagsObject" + } } ], "responses": { "200": { - "description": "The existing maintenance configuration was successfully updated.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MaintenanceConfiguration" + "$ref": "#/definitions/ManagedCluster" } }, - "201": { - "description": "The new maintenance configuration was successfully created.", - "schema": { - "$ref": "#/definitions/MaintenanceConfiguration" + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": false, "x-ms-examples": { - "Create/Update Maintenance Configuration with Maintenance Window": { - "$ref": "./examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json" + "Update Managed Cluster Tags": { + "$ref": "./examples/ManagedClustersUpdateTags.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/ManagedCluster" + }, + "x-ms-long-running-operation": true }, "delete": { + "operationId": "ManagedClusters_Delete", "tags": [ - "MaintenanceConfigurations" + "ManagedClusters" ], - "operationId": "MaintenanceConfigurations_Delete", - "summary": "Deletes a maintenance configuration.", + "description": "Deletes a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "name": "configName", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'." + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "if-match", + "in": "header", + "description": "The request should only proceed if an entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" + }, + { + "name": "ignore-pod-disruption-budget", + "in": "query", + "description": "ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget", + "required": false, + "type": "boolean" } ], "responses": { - "200": { - "description": "OK" + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } }, "204": { - "description": "NoContent" + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": false, "x-ms-examples": { - "Delete Maintenance Configuration For Node OS Upgrade": { - "$ref": "./examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json" + "Delete Managed Cluster": { + "$ref": "./examples/ManagedClustersDelete.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/abort": { + "post": { + "operationId": "ManagedClusters_AbortLatestOperation", "tags": [ - "ManagedNamespaces" + "ManagedClusters" ], - "operationId": "ManagedNamespaces_ListByManagedCluster", - "summary": "Gets a list of managed namespaces in the specified managed cluster.", + "summary": "Aborts last operation running on managed cluster.", + "description": "Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ManagedNamespaceListResult" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List namespaces by Managed Cluster": { - "$ref": "./examples/ManagedNamespacesList.json" + "Abort operation on managed cluster": { + "$ref": "./examples/ManagedClustersAbortOperation.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { + "post": { + "operationId": "ManagedClusters_GetAccessProfile", "tags": [ - "ManagedNamespaces" + "ManagedClusters" ], - "operationId": "ManagedNamespaces_Get", - "summary": "Gets the specified namespace of a managed cluster.", + "summary": "Gets an access profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "roleName", + "in": "path", + "description": "The name of the role for managed cluster accessProfile resource.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedNamespace" + "$ref": "#/definitions/ManagedClusterAccessProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, + "deprecated": true, "x-ms-examples": { - "Get Managed Namespace": { - "$ref": "./examples/ManagedNamespacesGet.json" + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { + "get": { + "operationId": "AgentPools_List", "tags": [ - "ManagedNamespaces" + "AgentPools" ], - "operationId": "ManagedNamespaces_CreateOrUpdate", - "summary": "Creates or updates a namespace managed by ARM for the specified managed cluster. Users can configure aspects like resource quotas, network ingress/egress policies, and more. See aka.ms/aks/managed-namespaces for more details.", + "description": "Gets a list of agent pools in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", "required": true, - "schema": { - "$ref": "#/definitions/ManagedNamespace" - }, - "description": "The namespace to create or update." + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "The existing namespace was successfully updated.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedNamespace" + "$ref": "#/definitions/AgentPoolListResult" } }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } - }, - "201": { - "description": "The new namespace was successfully created.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ManagedNamespace" - } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create/Update Managed Namespace": { - "$ref": "./examples/ManagedNamespacesCreate_Update.json" + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/AgentPoolsList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "get": { + "operationId": "AgentPools_Get", "tags": [ - "ManagedNamespaces" + "AgentPools" ], - "operationId": "ManagedNamespaces_Delete", - "summary": "Deletes a namespace.", + "description": "Gets the specified managed cluster agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "type": "string" - } - } - }, - "204": { - "description": "NoContent", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AgentPool" } }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Managed Namespace": { - "$ref": "./examples/ManagedNamespacesDelete.json" + "Get Agent Pool": { + "$ref": "./examples/AgentPoolsGet.json" } } }, - "patch": { + "put": { + "operationId": "AgentPools_CreateOrUpdate", "tags": [ - "ManagedNamespaces" + "AgentPools" ], - "operationId": "ManagedNamespaces_Update", - "summary": "Updates tags on a managed namespace.", + "description": "Creates or updates an agent pool in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "if-match", + "in": "header", + "description": "The request should only proceed if an entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "if-none-match", + "in": "header", + "description": "The request should only proceed if no entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { "name": "parameters", "in": "body", + "description": "The agent pool to create or update.", "required": true, "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to the patch namespace operation, we only support patch tags for now." + "$ref": "#/definitions/AgentPool" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'AgentPool' update operation succeeded", "schema": { - "$ref": "#/definitions/ManagedNamespace" + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "Resource 'AgentPool' create operation succeeded", + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Managed Namespace Tags": { - "$ref": "./examples/ManagedNamespacesUpdateTags.json" + "Associate Agent Pool with Capacity Reservation Group": { + "$ref": "./examples/AgentPoolsAssociate_CRG.json" + }, + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Dedicated Host Group": { + "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with Message of the Day": { + "$ref": "./examples/AgentPoolsCreate_MessageOfTheDay.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with VirtualMachines pool type": { + "$ref": "./examples/AgentPoolsCreate_TypeVirtualMachines.json" + }, + "Create Agent Pool with VirtualMachines pool type with autoscaling enabled": { + "$ref": "./examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json" + }, + "Create Agent Pool with Windows OSSKU": { + "$ref": "./examples/AgentPoolsCreate_WindowsOSSKU.json" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Windows Agent Pool with disabling OutboundNAT": { + "$ref": "./examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json" + }, + "Create/Update Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}/listCredential": { - "post": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/AgentPool" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "AgentPools_Delete", "tags": [ - "ManagedNamespaces" + "AgentPools" ], - "operationId": "ManagedNamespaces_ListCredential", - "summary": "Lists the credentials of a namespace.", + "description": "Deletes an agent pool in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "ignore-pod-disruption-budget", + "in": "query", + "description": "ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget", + "required": false, + "type": "boolean" + }, + { + "name": "if-match", + "in": "header", + "description": "The request should only proceed if an entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/CredentialResults" + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List managed namespace credentials": { - "$ref": "./examples/ManagedNamespacesListCredentialResult.json" + "Delete Agent Pool": { + "$ref": "./examples/AgentPoolsDelete.json" + }, + "Delete Agent Pool by ignoring PodDisruptionBudget": { + "$ref": "./examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/agentPools/{agentPoolName}/abort": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/abort": { "post": { + "operationId": "AgentPools_AbortLatestOperation", "tags": [ "AgentPools" ], - "operationId": "AgentPools_AbortLatestOperation", "summary": "Aborts last operation running on agent pool.", - "description": "Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, an error is returned.", + "description": "Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { "202": { - "description": "Accepted", + "description": "Resource operation accepted.", "headers": { - "location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { - "description": "NoContent" + "description": "There is no content to send for this request, but the headers may be useful." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Abort operation on agent pool": { + "$ref": "./examples/AgentPoolsAbortOperation.json" + } + }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/completeUpgrade": { + "post": { + "operationId": "AgentPools_CompleteUpgrade", + "tags": [ + "AgentPools" + ], + "summary": "Completes the upgrade of an agent pool.", + "description": "Completes the upgrade operation for the specified agent pool.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, "x-ms-examples": { - "Abort operation on agent pool": { - "$ref": "./examples/AgentPoolsAbortOperation.json" + "Complete agent pool upgrade": { + "$ref": "./examples/AgentPoolsCompleteUpgrade.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/deleteMachines": { + "post": { + "operationId": "AgentPools_DeleteMachines", "tags": [ "AgentPools" ], - "operationId": "AgentPools_List", - "summary": "Gets a list of agent pools in the specified managed cluster.", + "description": "Deletes specific machines in an agent pool.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" + }, + { + "name": "machines", + "in": "body", + "description": "A list of machines from the agent pool to be deleted.", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPoolDeleteMachinesParameter" + } + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Specific Machines in an Agent Pool": { + "$ref": "./examples/AgentPoolsDeleteMachines.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines": { + "get": { + "operationId": "Machines_List", + "tags": [ + "Machines" + ], + "description": "Gets a list of machines in the specified agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPoolListResult" + "$ref": "#/definitions/MachineListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Agent Pools by Managed Cluster": { - "$ref": "./examples/AgentPoolsList.json" + "List Machines in an Agentpool by Managed Cluster": { + "$ref": "./examples/MachineList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}": { "get": { + "operationId": "Machines_Get", "tags": [ - "AgentPools" + "Machines" ], - "operationId": "AgentPools_Get", - "summary": "Gets the specified managed cluster agent pool.", + "description": "Get a specific machine in the specified agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "machineName", + "in": "path", + "description": "Host name of the machine.", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPool" + "$ref": "#/definitions/Machine" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Agent Pool": { - "$ref": "./examples/AgentPoolsGet.json" + "Get a Machine in an Agent Pools by Managed Cluster": { + "$ref": "./examples/MachineGet.json" } } }, "put": { + "operationId": "Machines_CreateOrUpdate", "tags": [ - "AgentPools" + "Machines" ], - "operationId": "AgentPools_CreateOrUpdate", - "summary": "Creates or updates an agent pool in the specified managed cluster.", + "description": "Creates or updates a machine in the specified agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { - "name": "parameters", - "in": "body", + "name": "machineName", + "in": "path", + "description": "Host name of the machine.", "required": true, - "schema": { - "$ref": "#/definitions/AgentPool" - }, - "description": "The agent pool to create or update." + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$" }, { - "name": "If-Match", + "name": "if-match", "in": "header", "description": "The request should only proceed if an entity matches this string.", "required": false, @@ -1515,202 +2005,191 @@ "x-ms-client-name": "ifMatch" }, { - "name": "If-None-Match", + "name": "if-none-match", "in": "header", "description": "The request should only proceed if no entity matches this string.", "required": false, "type": "string", "x-ms-client-name": "ifNoneMatch" + }, + { + "name": "parameters", + "in": "body", + "description": "The machine to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/Machine" + } } ], "responses": { "200": { - "description": "The existing agent pool was successfully updated.", + "description": "Resource 'Machine' update operation succeeded", "schema": { - "$ref": "#/definitions/AgentPool" + "$ref": "#/definitions/Machine" } }, "201": { - "description": "The new agent pool was successfully created.", + "description": "Resource 'Machine' create operation succeeded", "schema": { - "$ref": "#/definitions/AgentPool" + "$ref": "#/definitions/Machine" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create/Update Agent Pool": { - "$ref": "./examples/AgentPoolsCreate_Update.json" - }, - "Update Agent Pool": { - "$ref": "./examples/AgentPools_Update.json" - }, - "Create Spot Agent Pool": { - "$ref": "./examples/AgentPoolsCreate_Spot.json" - }, - "Create Agent Pool with PPG": { - "$ref": "./examples/AgentPoolsCreate_PPG.json" - }, - "Create Agent Pool with OSSKU": { - "$ref": "./examples/AgentPoolsCreate_OSSKU.json" - }, - "Create Agent Pool with Windows OSSKU": { - "$ref": "./examples/AgentPoolsCreate_WindowsOSSKU.json" - }, - "Create Windows Agent Pool with disabling OutboundNAT": { - "$ref": "./examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json" - }, - "Create Agent Pool with GPUMIG": { - "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" - }, - "Create Agent Pool with Ephemeral OS Disk": { - "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" - }, - "Create Agent Pool with KubeletConfig and LinuxOSConfig": { - "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" - }, - "Create Agent Pool with EncryptionAtHost enabled": { - "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" - }, - "Create Agent Pool with UltraSSD enabled": { - "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" - }, - "Create Agent Pool with FIPS enabled OS": { - "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" - }, - "Create Agent Pool using an agent pool snapshot": { - "$ref": "./examples/AgentPoolsCreate_Snapshot.json" - }, - "Create Agent Pool with Krustlet and the WASI runtime": { - "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" - }, - "Create Agent Pool with Message of the Day": { - "$ref": "./examples/AgentPoolsCreate_MessageOfTheDay.json" - }, - "Stop Agent Pool": { - "$ref": "./examples/AgentPools_Stop.json" - }, - "Start Agent Pool": { - "$ref": "./examples/AgentPools_Start.json" - }, - "Associate Agent Pool with Capacity Reservation Group": { - "$ref": "./examples/AgentPoolsAssociate_CRG.json" - }, - "Create Agent Pool with Dedicated Host Group": { - "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json" - }, - "Create Agent Pool with VirtualMachines pool type": { - "$ref": "./examples/AgentPoolsCreate_TypeVirtualMachines.json" - }, - "Create Agent Pool with VirtualMachines pool type with autoscaling enabled": { - "$ref": "./examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json" + "Create/Update Machine": { + "$ref": "./examples/MachineCreate_Update.json" } - } - }, - "delete": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/Machine" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "operationId": "AgentPools_UpgradeNodeImageVersion", "tags": [ "AgentPools" ], - "operationId": "AgentPools_Delete", - "summary": "Deletes an agent pool in the specified managed cluster.", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/IgnorePodDisruptionBudgetParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "If-Match", - "in": "header", - "description": "The request should only proceed if an entity matches this string.", - "required": false, + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, "type": "string", - "x-ms-client-name": "ifMatch" + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { + "200": { + "description": "The request has succeeded." + }, "202": { - "description": "Accepted", + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/AgentPool" + }, "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Agent Pool": { - "$ref": "./examples/AgentPoolsDelete.json" - }, - "Delete Agent Pool by ignoring PodDisruptionBudget": { - "$ref": "./examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json" + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { "get": { + "operationId": "AgentPools_GetUpgradeProfile", "tags": [ "AgentPools" ], - "operationId": "AgentPools_GetUpgradeProfile", - "summary": "Gets the upgrade profile for an agent pool.", + "description": "Gets the upgrade profile for an agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AgentPoolUpgradeProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } @@ -1723,6695 +2202,7529 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/completeUpgrade": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "get": { + "operationId": "AgentPools_GetAvailableAgentPoolVersions", "tags": [ "AgentPools" ], - "operationId": "AgentPools_CompleteUpgrade", - "summary": "Completes the upgrade of an agent pool.", - "description": "Completes the upgrade operation for the specified agent pool.", + "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AgentPoolAvailableVersions" } }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Complete agent pool upgrade": { - "$ref": "./examples/AgentPoolsCompleteUpgrade.json" + "Get available versions for agent pool": { + "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/deleteMachines": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "operationId": "ManagedClusters_GetCommandResult", "tags": [ - "AgentPools" + "ManagedClusters" ], - "operationId": "AgentPools_DeleteMachines", - "summary": "Deletes specific machines in an agent pool.", + "description": "Gets the results of a command which has been run on the Managed Cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "machines", - "in": "body", + "name": "commandId", + "in": "path", + "description": "Id of the command.", "required": true, - "schema": { - "$ref": "#/definitions/AgentPoolDeleteMachinesParameter" - }, - "description": "A list of machines from the agent pool to be deleted." + "type": "string" } ], "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, "202": { - "description": "Accepted", + "description": "Azure operation completed successfully.", "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Specific Machines in an Agent Pool": { - "$ref": "./examples/AgentPoolsDeleteMachines.json" + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" + }, + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings": { "get": { + "operationId": "IdentityBindings_ListByManagedCluster", "tags": [ - "Machines" + "IdentityBindings" ], - "operationId": "Machines_List", - "summary": "Gets a list of machines in the specified agent pool.", + "description": "Gets a list of identity bindings in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MachineListResult" + "$ref": "#/definitions/IdentityBindingListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Machines in an Agentpool by Managed Cluster": { - "$ref": "./examples/MachineList.json" + "List Identity Bindings by Managed Cluster": { + "$ref": "./examples/IdentityBindings_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}": { "get": { + "operationId": "IdentityBindings_Get", "tags": [ - "Machines" + "IdentityBindings" ], - "operationId": "Machines_Get", - "summary": "Get a specific machine in the specified agent pool.", + "description": "Gets the specified Identity Binding.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/MachineNameParameter" + "name": "identityBindingName", + "in": "path", + "description": "The name of the identity binding.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]{0,63}$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/Machine" + "$ref": "#/definitions/IdentityBinding" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get a Machine in an Agent Pools by Managed Cluster": { - "$ref": "./examples/MachineGet.json" + "Get Identity Binding": { + "$ref": "./examples/IdentityBindings_Get.json" } } }, "put": { + "operationId": "IdentityBindings_CreateOrUpdate", "tags": [ - "Machines" + "IdentityBindings" ], - "operationId": "Machines_CreateOrUpdate", - "summary": "Creates or updates a machine in the specified agent pool.", + "description": "Creates or updates an identity binding in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/MachineNameParameter" + "name": "identityBindingName", + "in": "path", + "description": "The name of the identity binding.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]{0,63}$" }, { "name": "parameters", "in": "body", + "description": "The identity binding to create or update.", "required": true, "schema": { - "$ref": "#/definitions/Machine" - }, - "description": "The machine to create or update." + "$ref": "#/definitions/IdentityBinding" + } + } + ], + "responses": { + "200": { + "description": "Resource 'IdentityBinding' update operation succeeded", + "schema": { + "$ref": "#/definitions/IdentityBinding" + } }, - { - "name": "If-Match", - "in": "header", - "description": "The request should only proceed if an entity matches this string.", - "required": false, - "type": "string", - "x-ms-client-name": "ifMatch" + "201": { + "description": "Resource 'IdentityBinding' create operation succeeded", + "schema": { + "$ref": "#/definitions/IdentityBinding" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Identity Binding": { + "$ref": "./examples/IdentityBindings_Create_Or_Update.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/IdentityBinding" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "IdentityBindings_Delete", + "tags": [ + "IdentityBindings" + ], + "description": "Deletes an identity binding in the specified managed cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "name": "If-None-Match", - "in": "header", - "description": "The request should only proceed if no entity matches this string.", - "required": false, + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, "type": "string", - "x-ms-client-name": "ifNoneMatch" + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "identityBindingName", + "in": "path", + "description": "The name of the identity binding.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]{0,63}$" } ], "responses": { - "200": { - "description": "The existing machine was successfully updated.", + "202": { + "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { - "type": "string" + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Machine" } }, - "201": { - "description": "The new machine was successfully created.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/Machine" - } + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create/Update Machine": { - "$ref": "./examples/MachineCreate_Update.json" + "Delete Identity Binding": { + "$ref": "./examples/IdentityBindings_Delete.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/jwtAuthenticators": { "get": { + "operationId": "JWTAuthenticators_ListByManagedCluster", "tags": [ - "AgentPools" + "JWTAuthenticators" ], - "operationId": "AgentPools_GetAvailableAgentPoolVersions", - "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.", - "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", + "description": "Gets a list of JWT authenticators in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPoolAvailableVersions" + "$ref": "#/definitions/JWTAuthenticatorListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get available versions for agent pool": { - "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" + "List JWT authenticators by Managed Cluster": { + "$ref": "./examples/JWTAuthenticators_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/jwtAuthenticators/{jwtAuthenticatorName}": { + "get": { + "operationId": "JWTAuthenticators_Get", "tags": [ - "ManagedClusters" + "JWTAuthenticators" ], - "operationId": "ManagedClusters_ResetServicePrincipalProfile", - "summary": "Reset the Service Principal Profile of a managed cluster.", - "description": "This action cannot be performed on a cluster that is not using a service principal", + "description": "Gets the specified JWT authenticator of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "parameters", - "in": "body", + "name": "jwtAuthenticatorName", + "in": "path", + "description": "The name of the JWT authenticator.", "required": true, - "schema": { - "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" - }, - "description": "The service principal profile to set on the managed cluster." + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^[a-z][a-z0-9]{0,23}$" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/JWTAuthenticator" } }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Reset Service Principal Profile": { - "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" + "Get JWT Authenticator": { + "$ref": "./examples/JWTAuthenticators_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { - "post": { - "deprecated": true, + }, + "put": { + "operationId": "JWTAuthenticators_CreateOrUpdate", "tags": [ - "ManagedClusters" + "JWTAuthenticators" ], - "operationId": "ManagedClusters_ResetAADProfile", - "summary": "Reset the AAD Profile of a managed cluster.", - "description": "**WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.", + "description": "Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the settings.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "jwtAuthenticatorName", + "in": "path", + "description": "The name of the JWT authenticator.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^[a-z][a-z0-9]{0,23}$" }, { "name": "parameters", "in": "body", + "description": "The JWT authenticator to create or update.", "required": true, "schema": { - "$ref": "#/definitions/ManagedClusterAADProfile" - }, - "description": "The AAD profile to set on the Managed Cluster" + "$ref": "#/definitions/JWTAuthenticator" + } } ], "responses": { "200": { - "description": "OK" + "description": "Resource 'JWTAuthenticator' update operation succeeded", + "schema": { + "$ref": "#/definitions/JWTAuthenticator" + } }, - "202": { - "description": "Accepted", + "201": { + "description": "Resource 'JWTAuthenticator' create operation succeeded", + "schema": { + "$ref": "#/definitions/JWTAuthenticator" + }, "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Reset AAD Profile": { - "$ref": "./examples/ManagedClustersResetAADProfile.json" + "Create or update JWT Authenticator": { + "$ref": "./examples/JWTAuthenticators_Create_Or_Update.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/abort": { - "post": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/JWTAuthenticator" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "JWTAuthenticators_Delete", "tags": [ - "ManagedClusters" + "JWTAuthenticators" ], - "operationId": "ManagedClusters_AbortLatestOperation", - "summary": "Aborts last operation running on managed cluster.", - "description": "Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, an error is returned.", + "description": "Deletes a JWT authenticator and updates the managed cluster to apply the settings.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "jwtAuthenticatorName", + "in": "path", + "description": "The name of the JWT authenticator.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^[a-z][a-z0-9]{0,23}$" } ], "responses": { "202": { - "description": "Accepted", + "description": "Resource deletion accepted.", "headers": { - "location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { - "description": "NoContent" + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete JWT Authenticator": { + "$ref": "./examples/JWTAuthenticators_Delete.json" + } + }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, - "x-ms-examples": { - "Abort operation on managed cluster": { - "$ref": "./examples/ManagedClustersAbortOperation.json" - } - } + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { "post": { + "operationId": "ManagedClusters_ListClusterAdminCredentials", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_RotateClusterCertificates", - "summary": "Rotates the certificates of a managed cluster.", - "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", + "description": "Lists the admin credentials of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "server-fqdn", + "in": "query", + "description": "server fqdn type for credentials to be returned", + "required": false, + "type": "string" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CredentialResults" } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Rotate Cluster Certificates": { - "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterAdminCredentials.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateServiceAccountSigningKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { "post": { + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", - "summary": "Rotates the service account signing keys of a managed cluster.", + "description": "Lists the cluster monitoring user credentials of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - } + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "server-fqdn", + "in": "query", + "description": "server fqdn type for credentials to be returned", + "required": false, + "type": "string" + } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CredentialResults" } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Rotate Cluster Service Account Signing Keys": { - "$ref": "./examples/ManagedClustersRotateServiceAccountSigningKeys.json" + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { "post": { + "operationId": "ManagedClusters_ListClusterUserCredentials", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_Stop", - "summary": "Stops a Managed Cluster", - "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.", + "description": "Lists the user credentials of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - } - ], - "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } - } - }, - "204": { - "description": "NoContent" - }, - "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-examples": { - "Stop Managed Cluster": { - "$ref": "./examples/ManagedClustersStop.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { - "post": { - "tags": [ - "ManagedClusters" - ], - "operationId": "ManagedClusters_Start", - "summary": "Starts a previously stopped Managed Cluster", - "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "server-fqdn", + "in": "query", + "description": "server fqdn type for credentials to be returned", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "format", + "in": "query", + "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", + "required": false, + "type": "string", + "enum": [ + "azure", + "exec" + ], + "x-ms-enum": { + "name": "Format", + "modelAsString": true, + "values": [ + { + "name": "azure", + "value": "azure", + "description": "Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26." + }, + { + "name": "exec", + "value": "exec", + "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + } + ] + } } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CredentialResults" } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Start Managed Cluster": { - "$ref": "./examples/ManagedClustersStart.json" + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterUserCredentials.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers": { "get": { + "operationId": "LoadBalancers_ListByManagedCluster", "tags": [ - "PrivateEndpointConnections" + "LoadBalancers" ], - "operationId": "PrivateEndpointConnections_List", - "summary": "Gets a list of private endpoint connections in the specified managed cluster.", - "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "description": "Gets a list of load balancers in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionListResult" + "$ref": "#/definitions/LoadBalancerListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List Private Endpoint Connections by Managed Cluster": { - "$ref": "./examples/PrivateEndpointConnectionsList.json" + "List Load Balancers by Managed Cluster": { + "$ref": "./examples/LoadBalancers_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers/{loadBalancerName}": { "get": { + "operationId": "LoadBalancers_Get", "tags": [ - "PrivateEndpointConnections" + "LoadBalancers" ], - "operationId": "PrivateEndpointConnections_Get", - "summary": "Gets the specified private endpoint connection.", - "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "description": "Gets the specified load balancer.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "privateEndpointConnectionName", + "name": "loadBalancerName", "in": "path", + "description": "The name of the load balancer.", "required": true, "type": "string", - "description": "The name of the private endpoint connection." + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/LoadBalancer" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Private Endpoint Connection": { - "$ref": "./examples/PrivateEndpointConnectionsGet.json" + "Get Load Balancer": { + "$ref": "./examples/LoadBalancers_Get.json" } } }, "put": { + "operationId": "LoadBalancers_CreateOrUpdate", "tags": [ - "PrivateEndpointConnections" + "LoadBalancers" ], - "operationId": "PrivateEndpointConnections_Update", - "summary": "Updates a private endpoint connection.", + "description": "Creates or updates a load balancer in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "privateEndpointConnectionName", + "name": "loadBalancerName", "in": "path", + "description": "The name of the load balancer.", "required": true, "type": "string", - "description": "The name of the private endpoint connection." + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { "name": "parameters", "in": "body", + "description": "The load balancer to create or update.", "required": true, "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" - }, - "description": "The updated private endpoint connection." + "$ref": "#/definitions/LoadBalancer" + } } ], "responses": { "200": { - "description": "The existing private endpoint connection was successfully updated.", + "description": "Resource 'LoadBalancer' update operation succeeded", "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/LoadBalancer" } }, "201": { - "description": "The new private endpoint connection was successfully created.", + "description": "Resource 'LoadBalancer' create operation succeeded", "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/LoadBalancer" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Private Endpoint Connection": { - "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + "Create or update a Load Balancer": { + "$ref": "./examples/LoadBalancers_Create_Or_Update.json" } } }, "delete": { + "operationId": "LoadBalancers_Delete", "tags": [ - "PrivateEndpointConnections" + "LoadBalancers" ], - "operationId": "PrivateEndpointConnections_Delete", - "summary": "Deletes a private endpoint connection.", + "description": "Deletes a load balancer in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "privateEndpointConnectionName", + "name": "loadBalancerName", "in": "path", + "description": "The name of the load balancer.", "required": true, "type": "string", - "description": "The name of the private endpoint connection." + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { - "200": { - "description": "OK" + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } }, "204": { - "description": "No Content -- The private endpoint connection does not exist." + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Private Endpoint Connection": { - "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + "Delete a Load Balancer": { + "$ref": "./examples/LoadBalancers_Delete.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": { + "get": { + "operationId": "MaintenanceConfigurations_ListByManagedCluster", "tags": [ - "AgentPools" + "MaintenanceConfigurations" ], - "operationId": "AgentPools_UpgradeNodeImageVersion", - "summary": "Upgrades the node image version of an agent pool to the latest.", - "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "description": "Gets a list of maintenance configurations in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted", - "headers": { - "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" - } - }, + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPool" + "$ref": "#/definitions/MaintenanceConfigurationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Upgrade Agent Pool Node Image Version": { - "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + "List maintenance configurations configured with maintenance window by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList_MaintenanceWindow.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { "get": { + "operationId": "MaintenanceConfigurations_Get", "tags": [ - "privateLinkResources" + "MaintenanceConfigurations" ], - "operationId": "PrivateLinkResources_List", - "summary": "Gets a list of private link resources in the specified managed cluster.", - "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "description": "Gets the specified maintenance configuration of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "configName", + "in": "path", + "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateLinkResourcesListResult" + "$ref": "#/definitions/MaintenanceConfiguration" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List Private Link Resources by Managed Cluster": { - "$ref": "./examples/PrivateLinkResourcesList.json" + "Get Maintenance Configuration Configured With Maintenance Window": { + "$ref": "./examples/MaintenanceConfigurationsGet_MaintenanceWindow.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { - "post": { + }, + "put": { + "operationId": "MaintenanceConfigurations_CreateOrUpdate", "tags": [ - "resolvePrivateLinkServiceId" + "MaintenanceConfigurations" ], - "operationId": "ResolvePrivateLinkServiceId_POST", - "summary": "Gets the private link service ID for the specified managed cluster.", + "description": "Creates or updates a maintenance configuration in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "configName", + "in": "path", + "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'.", + "required": true, + "type": "string" }, { "name": "parameters", "in": "body", + "description": "The maintenance configuration to create or update.", "required": true, "schema": { - "$ref": "#/definitions/PrivateLinkResource" - }, - "description": "Parameters required in order to resolve a private link service ID." + "$ref": "#/definitions/MaintenanceConfiguration" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'MaintenanceConfiguration' update operation succeeded", "schema": { - "$ref": "#/definitions/PrivateLinkResource" + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "201": { + "description": "Resource 'MaintenanceConfiguration' create operation succeeded", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Resolve the Private Link Service ID for Managed Cluster": { - "$ref": "./examples/ResolvePrivateLinkServiceId.json" + "Create/Update Maintenance Configuration with Maintenance Window": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { - "post": { + }, + "delete": { + "operationId": "MaintenanceConfigurations_Delete", "tags": [ - "ManagedClusters" + "MaintenanceConfigurations" ], - "operationId": "ManagedClusters_RunCommand", - "summary": "Submits a command to run against the Managed Cluster.", - "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "description": "Deletes a maintenance configuration.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "requestPayload", - "in": "body", + "name": "configName", + "in": "path", + "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'.", "required": true, - "schema": { - "$ref": "#/definitions/RunCommandRequest" - }, - "description": "The run command request" + "type": "string" } ], "responses": { "200": { - "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", - "schema": { - "$ref": "#/definitions/RunCommandResult" - } + "description": "Resource deleted successfully." }, - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } - } + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "submitNewCommand": { - "$ref": "./examples/RunCommandRequest.json" + "Delete Maintenance Configuration For Node OS Upgrade": { + "$ref": "./examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces": { "get": { + "operationId": "ManagedNamespaces_ListByManagedCluster", "tags": [ - "ManagedClusters" + "ManagedNamespaces" ], - "operationId": "ManagedClusters_GetCommandResult", - "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "description": "Gets a list of managed namespaces in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "commandId", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "Id of the command." + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "command finished", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/RunCommandResult" - } - }, - "202": { - "description": "command running in progress", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "$ref": "#/definitions/ManagedNamespaceListResult" } }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "commandSucceedResult": { - "$ref": "./examples/RunCommandResultSucceed.json" - }, - "commandFailedResult": { - "$ref": "./examples/RunCommandResultFailed.json" + "List namespaces by Managed Cluster": { + "$ref": "./examples/ManagedNamespacesList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}": { "get": { + "operationId": "ManagedNamespaces_Get", "tags": [ - "ManagedClusters" + "ManagedNamespaces" ], - "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", - "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", - "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "description": "Gets the specified namespace of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + "$ref": "#/definitions/ManagedNamespace" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { - "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + "Get Managed Namespace": { + "$ref": "./examples/ManagedNamespacesGet.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations": { - "get": { + }, + "put": { + "operationId": "ManagedNamespaces_CreateOrUpdate", "tags": [ - "OperationStatusResult" + "ManagedNamespaces" ], - "operationId": "OperationStatusResult_List", - "summary": "Gets a list of operations in the specified managedCluster", + "description": "Creates or updates a namespace managed by ARM for the specified managed cluster. Users can configure aspects like resource quotas, network ingress/egress policies, and more. See aka.ms/aks/managed-namespaces for more details.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "parameters", + "in": "body", + "description": "The namespace to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedNamespace" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'ManagedNamespace' update operation succeeded", "schema": { - "$ref": "#/definitions/OperationStatusResultList" + "$ref": "#/definitions/ManagedNamespace" + } + }, + "201": { + "description": "Resource 'ManagedNamespace' create operation succeeded", + "schema": { + "$ref": "#/definitions/ManagedNamespace" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List of OperationStatusResult": { - "$ref": "./examples/OperationStatusResultList.json" + "Create/Update Managed Namespace": { + "$ref": "./examples/ManagedNamespacesCreate_Update.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations/{operationId}": { - "get": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/ManagedNamespace" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "ManagedNamespaces_Update", "tags": [ - "OperationStatusResult" + "ManagedNamespaces" ], - "operationId": "OperationStatusResult_Get", - "summary": "Get the status of a specific operation in the specified managed cluster.", + "description": "Updates tags on a managed namespace.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/OperationIdParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the patch namespace operation, we only support patch tags for now.", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationStatusResult" + "$ref": "#/definitions/ManagedNamespace" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get OperationStatusResult": { - "$ref": "./examples/OperationStatusResultGet.json" + "Update Managed Namespace Tags": { + "$ref": "./examples/ManagedNamespacesUpdateTags.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/operations/{operationId}": { - "get": { + }, + "delete": { + "operationId": "ManagedNamespaces_Delete", "tags": [ - "OperationStatusResult" + "ManagedNamespaces" ], - "operationId": "OperationStatusResult_GetByAgentPool", - "summary": "Get the status of a specific operation in the specified agent pool.", + "description": "Deletes a namespace.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/OperationIdParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationStatusResult" + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get OperationStatusResult": { - "$ref": "./examples/OperationStatusResultGetByAgentPool.json" + "Delete Managed Namespace": { + "$ref": "./examples/ManagedNamespacesDelete.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}/listCredential": { + "post": { + "operationId": "ManagedNamespaces_ListCredential", "tags": [ - "Snapshots" + "ManagedNamespaces" ], - "operationId": "Snapshots_List", - "summary": "Gets a list of snapshots in the specified subscription.", + "description": "Lists the credentials of a namespace.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SnapshotListResult" + "$ref": "#/definitions/CredentialResults" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Snapshots": { - "$ref": "./examples/SnapshotsList.json" + "List managed namespace credentials": { + "$ref": "./examples/ManagedNamespacesListCredentialResult.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshMemberships": { "get": { + "operationId": "MeshMemberships_ListByManagedCluster", "tags": [ - "Snapshots" + "MeshMemberships" ], - "operationId": "Snapshots_ListByResourceGroup", - "summary": "Lists snapshots in the specified subscription and resource group.", + "description": "Lists mesh memberships in a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SnapshotListResult" + "$ref": "#/definitions/MeshMembershipsListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Snapshots by Resource Group": { - "$ref": "./examples/SnapshotsListByResourceGroup.json" + "List Mesh Memberships by Managed Cluster": { + "$ref": "./examples/MeshMemberships_ListByManagedCluster.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshMemberships/{meshMembershipName}": { "get": { + "operationId": "MeshMemberships_Get", "tags": [ - "Snapshots" + "MeshMemberships" ], - "operationId": "Snapshots_Get", - "summary": "Gets a snapshot.", + "description": "Gets the mesh membership of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "meshMembershipName", + "in": "path", + "description": "The name of the mesh membership.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z][a-zA-Z0-9]{0,62}$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/Snapshot" + "$ref": "#/definitions/MeshMembership" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Snapshot": { - "$ref": "./examples/SnapshotsGet.json" + "Get Mesh Membership": { + "$ref": "./examples/MeshMemberships_Get.json" } } }, "put": { + "operationId": "MeshMemberships_CreateOrUpdate", "tags": [ - "Snapshots" + "MeshMemberships" ], - "operationId": "Snapshots_CreateOrUpdate", - "summary": "Creates or updates a snapshot.", + "description": "Creates or updates the mesh membership of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "meshMembershipName", + "in": "path", + "description": "The name of the mesh membership.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z][a-zA-Z0-9]{0,62}$" }, { "name": "parameters", "in": "body", + "description": "The mesh membership to create or update.", "required": true, "schema": { - "$ref": "#/definitions/Snapshot" - }, - "description": "The snapshot to create or update." + "$ref": "#/definitions/MeshMembership" + } } ], "responses": { "200": { - "description": "The existing snapshot was successfully updated.", + "description": "Resource 'MeshMembership' update operation succeeded", "schema": { - "$ref": "#/definitions/Snapshot" + "$ref": "#/definitions/MeshMembership" } }, "201": { - "description": "The new snapshot was successfully created.", + "description": "Resource 'MeshMembership' create operation succeeded", "schema": { - "$ref": "#/definitions/Snapshot" + "$ref": "#/definitions/MeshMembership" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create/Update Snapshot": { - "$ref": "./examples/SnapshotsCreate.json" + "Create or update Mesh Membership": { + "$ref": "./examples/MeshMemberships_CreateOrUpdate.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/MeshMembership" + }, + "x-ms-long-running-operation": true }, - "patch": { + "delete": { + "operationId": "MeshMemberships_Delete", "tags": [ - "Snapshots" + "MeshMemberships" ], - "operationId": "Snapshots_UpdateTags", - "summary": "Updates tags on a snapshot.", + "description": "Deletes the mesh membership of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "parameters", - "in": "body", + "name": "meshMembershipName", + "in": "path", + "description": "The name of the mesh membership.", "required": true, - "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to the Update snapshot Tags operation." + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z][a-zA-Z0-9]{0,62}$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Snapshot" + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Snapshot Tags": { - "$ref": "./examples/SnapshotsUpdateTags.json" + "Delete Mesh Membership": { + "$ref": "./examples/MeshMemberships_Delete.json" } - } - }, - "delete": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles": { + "get": { + "operationId": "ManagedClusters_ListMeshUpgradeProfiles", "tags": [ - "Snapshots" + "ManagedClusters" ], - "operationId": "Snapshots_Delete", - "summary": "Deletes a snapshot.", + "description": "Lists available upgrades for all service meshes in a specific cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK" - }, - "204": { - "description": "NoContent" + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/MeshUpgradeProfileList" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Delete Snapshot": { - "$ref": "./examples/SnapshotsDelete.json" + "Lists version compatibility and upgrade profile for all service meshes in a cluster": { + "$ref": "./examples/ManagedClustersList_MeshUpgradeProfiles.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedclustersnapshots": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles/{mode}": { "get": { + "operationId": "ManagedClusters_GetMeshUpgradeProfile", "tags": [ - "ManagedClusterSnapshots" + "ManagedClusters" ], - "operationId": "ManagedClusterSnapshots_List", - "summary": "Gets a list of managed cluster snapshots in the specified subscription.", + "description": "Gets available upgrades for a service mesh in a cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "mode", + "in": "path", + "description": "The mode of the mesh.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterSnapshotListResult" + "$ref": "#/definitions/MeshUpgradeProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Managed Cluster Snapshots": { - "$ref": "./examples/ManagedClusterSnapshotsList.json" + "Gets version compatibility and upgrade profile for a service mesh in a cluster": { + "$ref": "./examples/ManagedClustersGet_MeshUpgradeProfile.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations": { "get": { + "operationId": "OperationStatusResult_List", "tags": [ - "ManagedClusterSnapshots" + "ManagedClusters" ], - "operationId": "ManagedClusterSnapshots_ListByResourceGroup", - "summary": "Lists managed cluster snapshots in the specified subscription and resource group.", + "description": "Gets a list of operations in the specified managedCluster", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterSnapshotListResult" + "$ref": "#/definitions/OperationStatusResultList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Managed Cluster Snapshots by Resource Group": { - "$ref": "./examples/ManagedClusterSnapshotsListByResourceGroup.json" + "List of OperationStatusResult": { + "$ref": "./examples/OperationStatusResultList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { "get": { + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", "tags": [ - "ManagedClusterSnapshots" + "ManagedClusters" ], - "operationId": "ManagedClusterSnapshots_Get", - "summary": "Gets a managed cluster snapshot.", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterSnapshot" + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster Snapshot": { - "$ref": "./examples/ManagedClusterSnapshotsGet.json" + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "operationId": "PrivateEndpointConnections_List", "tags": [ - "ManagedClusterSnapshots" + "PrivateEndpointConnections" ], - "operationId": "ManagedClusterSnapshots_CreateOrUpdate", - "summary": "Creates or updates a managed cluster snapshot.", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", "required": true, - "schema": { - "$ref": "#/definitions/ManagedClusterSnapshot" - }, - "description": "The managed cluster snapshot to create or update." + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "The existing managed cluster snapshot was successfully updated.", - "schema": { - "$ref": "#/definitions/ManagedClusterSnapshot" - } - }, - "201": { - "description": "The new managed cluster snapshot was successfully created.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterSnapshot" + "$ref": "#/definitions/PrivateEndpointConnectionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create/Update Managed Cluster Snapshot": { - "$ref": "./examples/ManagedClusterSnapshotsCreate.json" + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "operationId": "PrivateEndpointConnections_Get", "tags": [ - "ManagedClusterSnapshots" + "PrivateEndpointConnections" ], - "operationId": "ManagedClusterSnapshots_UpdateTags", - "summary": "Updates tags on a managed cluster snapshot.", - "parameters": [ + "summary": "Gets the specified private endpoint connection.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "parameters", - "in": "body", + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", "required": true, - "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to the Update managed cluster snapshot Tags operation." + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterSnapshot" + "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Managed Cluster Snapshot Tags": { - "$ref": "./examples/ManagedClusterSnapshotsUpdateTags.json" + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" } } }, - "delete": { + "put": { + "operationId": "PrivateEndpointConnections_Update", "tags": [ - "ManagedClusterSnapshots" + "PrivateEndpointConnections" ], - "operationId": "ManagedClusterSnapshots_Delete", - "summary": "Deletes a managed cluster snapshot.", + "description": "Updates a private endpoint connection.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "parameters", + "in": "body", + "description": "The updated private endpoint connection.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } } ], "responses": { "200": { - "description": "OK" + "description": "Resource 'PrivateEndpointConnection' update operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } }, - "204": { - "description": "NoContent" + "201": { + "description": "Resource 'PrivateEndpointConnection' create operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Delete Managed Cluster Snapshot": { - "$ref": "./examples/ManagedClusterSnapshotsDelete.json" + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" } } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/trustedAccessRoles": { - "get": { + }, + "delete": { + "operationId": "PrivateEndpointConnections_Delete", "tags": [ - "TrustedAccess" + "PrivateEndpointConnections" ], - "operationId": "TrustedAccessRoles_List", - "summary": "List supported trusted access roles.", + "description": "Deletes a private endpoint connection.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TrustedAccessRoleListResult" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List trusted access roles": { - "$ref": "./examples/TrustedAccessRoles_List.json" + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { "get": { + "operationId": "PrivateLinkResources_List", "tags": [ - "TrustedAccess" + "privateLinkResources" ], - "operationId": "TrustedAccessRoleBindings_List", - "summary": "List trusted access role bindings.", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/TrustedAccessRoleBindingListResult" + "$ref": "#/definitions/PrivateLinkResourcesListResult" } }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List trusted access role bindings": { - "$ref": "./examples/TrustedAccessRoleBindings_List.json" + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rebalanceLoadBalancers": { + "post": { + "operationId": "ManagedClusters_RebalanceLoadBalancers", "tags": [ - "TrustedAccess" + "ManagedClusters" ], - "operationId": "TrustedAccessRoleBindings_Get", - "summary": "Get a trusted access role binding.", + "description": "Rebalance nodes across specific load balancers.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + "name": "parameters", + "in": "body", + "description": "The names of the load balancers to be rebalanced. If set to empty, all load balancers will be rebalanced.", + "required": true, + "schema": { + "$ref": "#/definitions/RebalanceLoadBalancersRequestBody" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TrustedAccessRoleBinding" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get a trusted access role binding": { - "$ref": "./examples/TrustedAccessRoleBindings_Get.json" + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/LoadBalancers_Rebalance.json" } - } - }, - "put": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { + "post": { + "operationId": "ManagedClusters_ResetAADProfile", "tags": [ - "TrustedAccess" + "ManagedClusters" ], - "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", - "summary": "Create or update a trusted access role binding", + "summary": "Reset the AAD Profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "trustedAccessRoleBinding", + "name": "parameters", "in": "body", + "description": "The AAD profile to set on the Managed Cluster", "required": true, "schema": { - "$ref": "#/definitions/TrustedAccessRoleBinding" - }, - "description": "A trusted access role binding" + "$ref": "#/definitions/ManagedClusterAADProfile" + } } ], "responses": { "200": { - "description": "The existing trusted access role binding was successfully updated.", - "schema": { - "$ref": "#/definitions/TrustedAccessRoleBinding" - } + "description": "The request has succeeded." }, - "201": { - "description": "The new trusted access role binding was successfully created.", - "schema": { - "$ref": "#/definitions/TrustedAccessRoleBinding" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, + "deprecated": true, "x-ms-examples": { - "Create or update a trusted access role binding": { - "$ref": "./examples/TrustedAccessRoleBindings_CreateOrUpdate.json" + "Reset AAD Profile": { + "$ref": "./examples/ManagedClustersResetAADProfile.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, "x-ms-long-running-operation": true - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { + "post": { + "operationId": "ManagedClusters_ResetServicePrincipalProfile", "tags": [ - "TrustedAccess" + "ManagedClusters" ], - "operationId": "TrustedAccessRoleBindings_Delete", - "summary": "Delete a trusted access role binding.", + "summary": "Reset the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + "name": "parameters", + "in": "body", + "description": "The service principal profile to set on the managed cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + } } ], "responses": { + "200": { + "description": "The request has succeeded." + }, "202": { - "description": "Accepted", + "description": "Resource operation accepted.", "headers": { "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Delete a trusted access role binding": { - "$ref": "./examples/TrustedAccessRoleBindings_Delete.json" + "Reset Service Principal Profile": { + "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions/{version}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "operationId": "ResolvePrivateLinkServiceId_POST", "tags": [ - "ManagedClusters" + "resolvePrivateLinkServiceId" ], - "operationId": "ManagedClusters_GetGuardrailsVersions", - "summary": "Gets supported Guardrails version in the specified subscription and location.", - "description": "Contains Guardrails version along with its support info and whether it is a default version.", + "description": "Gets the private link service ID for the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/VersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GuardrailsAvailableVersion" - } + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "Parameters required in order to resolve a private link service ID.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get guardrails available versions": { - "$ref": "./examples/GetGuardrailsVersions.json" + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "post": { + "operationId": "ManagedClusters_RotateClusterCertificates", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListGuardrailsVersions", - "summary": "Gets a list of supported Guardrails versions in the specified subscription and location.", - "description": "Contains list of Guardrails version along with its support info and whether it is a default version.", + "summary": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GuardrailsAvailableVersionsList" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Guardrails Versions": { - "$ref": "./examples/ListGuardrailsVersions.json" + "Rotate Cluster Certificates": { + "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/safeguardsVersions/{version}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateServiceAccountSigningKeys": { + "post": { + "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_GetSafeguardsVersions", - "summary": "Gets supported Safeguards version in the specified subscription and location.", - "description": "Contains Safeguards version along with its support info and whether it is a default version.", + "description": "Rotates the service account signing keys of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/VersionParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SafeguardsAvailableVersion" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Safeguards available versions": { - "$ref": "./examples/GetSafeguardsVersions.json" + "Rotate Cluster Service Account Signing Keys": { + "$ref": "./examples/ManagedClustersRotateServiceAccountSigningKeys.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/safeguardsVersions": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "operationId": "ManagedClusters_RunCommand", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListSafeguardsVersions", - "summary": "Gets a list of supported Safeguards versions in the specified subscription and location.", - "description": "Contains list of Safeguards version along with its support info and whether it is a default version.", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "name": "requestPayload", + "in": "body", + "description": "The run command request", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandRequest" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SafeguardsAvailableVersionsList" + "$ref": "#/definitions/RunCommandResult" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Safeguards Versions": { - "$ref": "./examples/ListSafeguardsVersions.json" + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/RunCommandResult" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "operationId": "ManagedClusters_Start", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListMeshRevisionProfiles", - "summary": "Lists mesh revision profiles for all meshes in the specified location.", - "description": "Contains extra metadata on each revision, including supported revisions, cluster compatibility and available upgrades", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MeshRevisionProfileList" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List mesh revision profiles in a location": { - "$ref": "./examples/ManagedClustersList_MeshRevisionProfiles.json" + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles/{mode}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "operationId": "ManagedClusters_Stop", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_GetMeshRevisionProfile", - "summary": "Gets a mesh revision profile for a specified mesh in the specified location.", - "description": "Contains extra metadata on the revision, including supported revisions, cluster compatibility and available upgrades", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/MeshModeParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MeshRevisionProfile" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get a mesh revision profile for a mesh mode": { - "$ref": "./examples/ManagedClustersGet_MeshRevisionProfile.json" + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings": { "get": { + "operationId": "TrustedAccessRoleBindings_List", "tags": [ - "ManagedClusters" + "TrustedAccess" ], - "operationId": "ManagedClusters_ListMeshUpgradeProfiles", - "summary": "Lists available upgrades for all service meshes in a specific cluster.", + "description": "List trusted access role bindings.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MeshUpgradeProfileList" + "$ref": "#/definitions/TrustedAccessRoleBindingListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Lists version compatibility and upgrade profile for all service meshes in a cluster": { - "$ref": "./examples/ManagedClustersList_MeshUpgradeProfiles.json" + "List trusted access role bindings": { + "$ref": "./examples/TrustedAccessRoleBindings_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles/{mode}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}": { "get": { + "operationId": "TrustedAccessRoleBindings_Get", "tags": [ - "ManagedClusters" + "TrustedAccess" ], - "operationId": "ManagedClusters_GetMeshUpgradeProfile", - "summary": "Gets available upgrades for a service mesh in a cluster.", + "description": "Get a trusted access role binding.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/MeshModeParameter" + "name": "trustedAccessRoleBindingName", + "in": "path", + "description": "The name of trusted access role binding.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^([A-Za-z0-9-])+$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MeshUpgradeProfile" + "$ref": "#/definitions/TrustedAccessRoleBinding" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Gets version compatibility and upgrade profile for a service mesh in a cluster": { - "$ref": "./examples/ManagedClustersGet_MeshUpgradeProfile.json" + "Get a trusted access role binding": { + "$ref": "./examples/TrustedAccessRoleBindings_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers": { - "get": { + }, + "put": { + "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", "tags": [ - "LoadBalancers" + "TrustedAccess" ], - "operationId": "LoadBalancers_ListByManagedCluster", - "summary": "Gets a list of load balancers in the specified managed cluster.", + "description": "Create or update a trusted access role binding", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "trustedAccessRoleBindingName", + "in": "path", + "description": "The name of trusted access role binding.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^([A-Za-z0-9-])+$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "trustedAccessRoleBinding", + "in": "body", + "description": "A trusted access role binding", + "required": true, + "schema": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'TrustedAccessRoleBinding' update operation succeeded", "schema": { - "$ref": "#/definitions/LoadBalancerListResult" + "$ref": "#/definitions/TrustedAccessRoleBinding" + } + }, + "201": { + "description": "Resource 'TrustedAccessRoleBinding' create operation succeeded", + "schema": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Load Balancers by Managed Cluster": { - "$ref": "./examples/LoadBalancers_List.json" + "Create or update a trusted access role binding": { + "$ref": "./examples/TrustedAccessRoleBindings_CreateOrUpdate.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rebalanceLoadBalancers": { - "post": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/TrustedAccessRoleBinding" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "TrustedAccessRoleBindings_Delete", "tags": [ - "LoadBalancers" + "TrustedAccess" ], - "operationId": "ManagedClusters_RebalanceLoadBalancers", - "summary": "Rebalance nodes across specific load balancers.", + "description": "Delete a trusted access role binding.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "parameters", - "in": "body", + "name": "trustedAccessRoleBindingName", + "in": "path", + "description": "The name of trusted access role binding.", "required": true, - "schema": { - "$ref": "#/definitions/RebalanceLoadBalancersRequestBody" - }, - "description": "The names of the load balancers to be rebalanced. If set to empty, all load balancers will be rebalanced." + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^([A-Za-z0-9-])+$" } ], "responses": { "202": { - "description": "Accepted", + "description": "Resource deletion accepted.", "headers": { "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." }, - "Azure-AsyncOperation": { - "type": "string" + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "List Agent Pools by Managed Cluster": { - "$ref": "./examples/LoadBalancers_Rebalance.json" + "Delete a trusted access role binding": { + "$ref": "./examples/TrustedAccessRoleBindings_Delete.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers/{loadBalancerName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { "get": { + "operationId": "ManagedClusters_GetUpgradeProfile", "tags": [ - "LoadBalancers" + "ManagedClusters" ], - "operationId": "LoadBalancers_Get", - "summary": "Gets the specified load balancer.", + "description": "Gets the upgrade profile of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/LoadBalancerNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/LoadBalancer" + "$ref": "#/definitions/ManagedClusterUpgradeProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Load Balancer": { - "$ref": "./examples/LoadBalancers_Get.json" + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots": { + "get": { + "operationId": "ManagedClusterSnapshots_ListByResourceGroup", "tags": [ - "LoadBalancers" + "ManagedClusterSnapshots" ], - "operationId": "LoadBalancers_CreateOrUpdate", - "summary": "Creates or updates a load balancer in the specified managed cluster.", + "description": "Lists managed cluster snapshots in the specified subscription and resource group.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/LoadBalancerNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/LoadBalancer" - }, - "description": "The load balancer to create or update." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "The existing load balancer has been successfully updated", - "schema": { - "$ref": "#/definitions/LoadBalancer" - } - }, - "201": { - "description": "The new load balancer has been successfully created", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/LoadBalancer" + "$ref": "#/definitions/ManagedClusterSnapshotListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": false, "x-ms-examples": { - "Create or update a Load Balancer": { - "$ref": "./examples/LoadBalancers_Create_Or_Update.json" + "List Managed Cluster Snapshots by Resource Group": { + "$ref": "./examples/ManagedClusterSnapshotsListByResourceGroup.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}": { + "get": { + "operationId": "ManagedClusterSnapshots_Get", "tags": [ - "LoadBalancers" + "ManagedClusterSnapshots" ], - "operationId": "LoadBalancers_Delete", - "summary": "Deletes a load balancer in the specified managed cluster.", + "description": "Gets a managed cluster snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/LoadBalancerNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "type": "string" - } - } - }, - "204": { - "description": "NoContent", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" } }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete a Load Balancer": { - "$ref": "./examples/LoadBalancers_Delete.json" + "Get Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsGet.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings": { - "get": { + }, + "put": { + "operationId": "ManagedClusterSnapshots_CreateOrUpdate", "tags": [ - "IdentityBindings" + "ManagedClusterSnapshots" ], - "operationId": "IdentityBindings_ListByManagedCluster", - "summary": "Gets a list of identity bindings in the specified managed cluster.", + "description": "Creates or updates a managed cluster snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "parameters", + "in": "body", + "description": "The managed cluster snapshot to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'ManagedClusterSnapshot' update operation succeeded", "schema": { - "$ref": "#/definitions/IdentityBindingListResult" + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "201": { + "description": "Resource 'ManagedClusterSnapshot' create operation succeeded", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Identity Bindings by Managed Cluster": { - "$ref": "./examples/IdentityBindings_List.json" + "Create/Update Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsCreate.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/identityBindings/{identityBindingName}": { - "get": { + }, + "patch": { + "operationId": "ManagedClusterSnapshots_UpdateTags", "tags": [ - "IdentityBindings" + "ManagedClusterSnapshots" ], - "operationId": "IdentityBindings_Get", - "summary": "Gets the specified Identity Binding.", + "description": "Updates tags on a managed cluster snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/IdentityBindingNameParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the Update managed cluster snapshot Tags operation.", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/IdentityBinding" + "$ref": "#/definitions/ManagedClusterSnapshot" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Identity Binding": { - "$ref": "./examples/IdentityBindings_Get.json" + "Update Managed Cluster Snapshot Tags": { + "$ref": "./examples/ManagedClusterSnapshotsUpdateTags.json" } } }, - "put": { + "delete": { + "operationId": "ManagedClusterSnapshots_Delete", "tags": [ - "IdentityBindings" + "ManagedClusterSnapshots" ], - "operationId": "IdentityBindings_CreateOrUpdate", - "summary": "Creates or updates an identity binding in the specified managed cluster.", + "description": "Deletes a managed cluster snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/IdentityBindingNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", "required": true, - "schema": { - "$ref": "#/definitions/IdentityBinding" - }, - "description": "The identity binding to create or update." + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "The existing identity binding has been successfully updated", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/IdentityBinding" - } + "description": "Resource deleted successfully." }, - "201": { - "description": "The new identity binding has been successfully created", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/IdentityBinding" - } + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Create or update Identity Binding": { - "$ref": "./examples/IdentityBindings_Create_Or_Update.json" + "Delete Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsDelete.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "operationId": "Snapshots_ListByResourceGroup", "tags": [ - "IdentityBindings" + "Snapshots" ], - "operationId": "IdentityBindings_Delete", - "summary": "Deletes an identity binding in the specified managed cluster.", + "description": "Lists snapshots in the specified subscription and resource group.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/IdentityBindingNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" - } - } - }, - "204": { - "description": "NoContent", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SnapshotListResult" } }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Delete Identity Binding": { - "$ref": "./examples/IdentityBindings_Delete.json" + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/jwtAuthenticators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { "get": { + "operationId": "Snapshots_Get", "tags": [ - "JWTAuthenticators" + "Snapshots" ], - "operationId": "JWTAuthenticators_ListByManagedCluster", - "summary": "Gets a list of JWT authenticators in the specified managed cluster.", + "description": "Gets a snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/JWTAuthenticatorListResult" + "$ref": "#/definitions/Snapshot" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List JWT authenticators by Managed Cluster": { - "$ref": "./examples/JWTAuthenticators_List.json" + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/jwtAuthenticators/{jwtAuthenticatorName}": { - "get": { + }, + "put": { + "operationId": "Snapshots_CreateOrUpdate", "tags": [ - "JWTAuthenticators" + "Snapshots" ], - "operationId": "JWTAuthenticators_Get", - "summary": "Gets the specified JWT authenticator of a managed cluster.", + "description": "Creates or updates a snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/JWTAuthenticatorNameParameter" + "name": "parameters", + "in": "body", + "description": "The snapshot to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'Snapshot' update operation succeeded", "schema": { - "$ref": "#/definitions/JWTAuthenticator" + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "Resource 'Snapshot' create operation succeeded", + "schema": { + "$ref": "#/definitions/Snapshot" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get JWT Authenticator": { - "$ref": "./examples/JWTAuthenticators_Get.json" + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" } } }, - "put": { + "patch": { + "operationId": "Snapshots_UpdateTags", "tags": [ - "JWTAuthenticators" + "Snapshots" ], - "operationId": "JWTAuthenticators_CreateOrUpdate", - "summary": "Creates or updates JWT authenticator in the managed cluster and updates the managed cluster to apply the settings.", + "description": "Updates tags on a snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "$ref": "#/parameters/JWTAuthenticatorNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { "name": "parameters", "in": "body", + "description": "Parameters supplied to the Update snapshot Tags operation.", "required": true, "schema": { - "$ref": "#/definitions/JWTAuthenticator" - }, - "description": "The JWT authenticator to create or update." + "$ref": "#/definitions/TagsObject" + } } ], "responses": { "200": { - "description": "The existing JWT authenticator was successfully updated.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/JWTAuthenticator" - } - }, - "201": { - "description": "The new JWT authenticator was successfully created.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/JWTAuthenticator" + "$ref": "#/definitions/Snapshot" } }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Create or update JWT Authenticator": { - "$ref": "./examples/JWTAuthenticators_Create_Or_Update.json" + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" } } }, "delete": { + "operationId": "Snapshots_Delete", "tags": [ - "JWTAuthenticators" + "Snapshots" ], - "operationId": "JWTAuthenticators_Delete", - "summary": "Deletes a JWT authenticator and updates the managed cluster to apply the settings.", + "description": "Deletes a snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/JWTAuthenticatorNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "type": "string" - } - } + "200": { + "description": "Resource deleted successfully." }, "204": { - "description": "NoContent", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - } + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Delete JWT Authenticator": { - "$ref": "./examples/JWTAuthenticators_Delete.json" + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshMemberships": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/operations/{operationId}": { "get": { + "operationId": "OperationStatusResult_GetByAgentPool", "tags": [ - "MeshMemberships" + "AgentPools" ], - "operationId": "MeshMemberships_ListByManagedCluster", - "summary": "Lists mesh memberships in a managed cluster.", + "description": "Get the status of a specific operation in the specified agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" + }, + { + "name": "operationId", + "in": "path", + "description": "The ID of an ongoing async operation.", + "required": true, + "type": "string", + "minLength": 1 } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MeshMembershipsListResult" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationStatusResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Mesh Memberships by Managed Cluster": { - "$ref": "./examples/MeshMemberships_ListByManagedCluster.json" + "Get OperationStatusResult": { + "$ref": "./examples/OperationStatusResultGetByAgentPool.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshMemberships/{meshMembershipName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.ContainerService/managedClusters/{resourceName}/operations/{operationId}": { "get": { + "operationId": "OperationStatusResult_Get", "tags": [ - "MeshMemberships" + "ManagedClusters" ], - "operationId": "MeshMemberships_Get", - "summary": "Gets the mesh membership of a managed cluster.", + "description": "Get the status of a specific operation in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/MeshMembershipNameParameter" + "name": "operationId", + "in": "path", + "description": "The ID of an ongoing async operation.", + "required": true, + "type": "string", + "minLength": 1 } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MeshMembership" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationStatusResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Mesh Membership": { - "$ref": "./examples/MeshMemberships_Get.json" + "Get OperationStatusResult": { + "$ref": "./examples/OperationStatusResultGet.json" } } + } + } + }, + "definitions": { + "AbsoluteMonthlySchedule": { + "type": "object", + "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'.", + "properties": { + "intervalMonths": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of months between each set of occurrences.", + "minimum": 1, + "maximum": 6 + }, + "dayOfMonth": { + "type": "integer", + "format": "int32", + "description": "The date of the month.", + "minimum": 1, + "maximum": 31 + } }, - "put": { - "tags": [ - "MeshMemberships" - ], - "operationId": "MeshMemberships_CreateOrUpdate", - "summary": "Creates or updates the mesh membership of a managed cluster.", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, + "required": [ + "intervalMonths", + "dayOfMonth" + ] + }, + "AccessProfile": { + "type": "object", + "description": "Profile for enabling a user to access a managed cluster.", + "properties": { + "kubeConfig": { + "type": "string", + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." + } + } + }, + "AdoptionPolicy": { + "type": "string", + "description": "Action if Kubernetes namespace with same name already exists.", + "enum": [ + "Never", + "IfIdentical", + "Always" + ], + "x-ms-enum": { + "name": "AdoptionPolicy", + "modelAsString": true, + "values": [ { - "$ref": "#/parameters/ResourceNameParameter" + "name": "Never", + "value": "Never", + "description": "If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail." }, { - "$ref": "#/parameters/MeshMembershipNameParameter" + "name": "IfIdentical", + "value": "IfIdentical", + "description": "Take over the existing namespace to be managed by ARM, if there is no difference." }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MeshMembership" - }, - "description": "The mesh membership to create or update." + "name": "Always", + "value": "Always", + "description": "Always take over the existing namespace to be managed by ARM, some fields might be overwritten." } - ], - "responses": { - "200": { - "description": "The existing mesh membership was successfully updated.", - "schema": { - "$ref": "#/definitions/MeshMembership" - } - }, - "201": { - "description": "The new mesh membership was successfully created.", - "schema": { - "$ref": "#/definitions/MeshMembership" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Create or update Mesh Membership": { - "$ref": "./examples/MeshMemberships_CreateOrUpdate.json" - } - } - }, - "delete": { - "tags": [ - "MeshMemberships" - ], - "operationId": "MeshMemberships_Delete", - "summary": "Deletes the mesh membership of a managed cluster.", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, + ] + } + }, + "AdvancedNetworkPolicies": { + "type": "string", + "description": "Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.", + "enum": [ + "L7", + "FQDN", + "None" + ], + "x-ms-enum": { + "name": "AdvancedNetworkPolicies", + "modelAsString": true, + "values": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "L7", + "value": "L7", + "description": "Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option." }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "FQDN", + "value": "FQDN", + "description": "Enable FQDN based network policies" }, { - "$ref": "#/parameters/MeshMembershipNameParameter" - } - ], - "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } - } - }, - "204": { - "description": "NoContent" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } + "name": "None", + "value": "None", + "description": "Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)" } + ] + } + }, + "AdvancedNetworking": { + "type": "object", + "description": "Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false." }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Delete Mesh Membership": { - "$ref": "./examples/MeshMemberships_Delete.json" - } + "observability": { + "$ref": "#/definitions/AdvancedNetworkingObservability", + "description": "Observability profile to enable advanced network metrics and flow logs with historical contexts." + }, + "security": { + "$ref": "#/definitions/AdvancedNetworkingSecurity", + "description": "Security profile to enable security features on cilium based cluster." + }, + "performance": { + "$ref": "#/definitions/AdvancedNetworkingPerformance", + "description": "Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium." } } - } - }, - "definitions": { - "OperationListResult": { + }, + "AdvancedNetworkingObservability": { "type": "object", + "description": "Observability profile to enable advanced network metrics and flow logs with historical contexts.", "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/OperationValue" - }, - "x-ms-identifiers": [], - "description": "The list of operations" + "enabled": { + "type": "boolean", + "description": "Indicates the enablement of Advanced Networking observability functionalities on clusters." } - }, - "description": "The List Operation response." + } }, - "OperationValue": { + "AdvancedNetworkingPerformance": { "type": "object", + "description": "Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium.", "properties": { - "origin": { - "type": "string", - "readOnly": true, - "description": "The origin of the operation." - }, - "name": { + "accelerationMode": { "type": "string", - "readOnly": true, - "description": "The name of the operation." - }, - "display": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/OperationValueDisplay", - "description": "Describes the properties of a Operation Value Display." + "description": "Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation", + "default": "None", + "enum": [ + "BpfVeth", + "None" + ], + "x-ms-enum": { + "name": "AccelerationMode", + "modelAsString": true, + "values": [ + { + "name": "BpfVeth", + "value": "BpfVeth", + "description": "Enable eBPF host routing with veth device mode." + }, + { + "name": "None", + "value": "None", + "description": "Disable acceleration options." + } + ] + } } - }, - "description": "Describes the properties of a Operation value." + } }, - "OperationValueDisplay": { + "AdvancedNetworkingSecurity": { "type": "object", + "description": "Security profile to enable security features on cilium based cluster.", "properties": { - "operation": { - "type": "string", - "readOnly": true, - "description": "The display name of the operation." - }, - "resource": { - "type": "string", - "readOnly": true, - "description": "The display name of the resource the operation applies to." + "enabled": { + "type": "boolean", + "description": "This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false." }, - "description": { - "type": "string", - "readOnly": true, - "description": "The description of the operation." + "advancedNetworkPolicies": { + "$ref": "#/definitions/AdvancedNetworkPolicies", + "description": "Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true." }, - "provider": { - "type": "string", - "readOnly": true, - "description": "The resource provider for the operation." + "transitEncryption": { + "$ref": "#/definitions/AdvancedNetworkingSecurityTransitEncryption", + "description": "Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary." } - }, - "description": "Describes the properties of a Operation Value Display." + } }, - "SubResource": { + "AdvancedNetworkingSecurityTransitEncryption": { "type": "object", + "description": "Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary.", "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." - }, "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" + "$ref": "#/definitions/TransitEncryptionType", + "description": "Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None." } - }, - "description": "Reference to another subresource.", - "x-ms-azure-resource": true + } }, - "TagsObject": { + "AgentPool": { "type": "object", + "description": "Agent Pool.", "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." + "properties": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "description": "Properties of an agent pool.", + "x-ms-client-flatten": true } }, - "description": "Tags object for patch operations." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "ContainerServiceOSDisk": { - "type": "integer", - "format": "int32", - "maximum": 2048, - "minimum": 0, - "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + "AgentPoolArtifactStreamingProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false." + } + } }, - "ManagedClusterServicePrincipalProfile": { + "AgentPoolAvailableVersions": { "type": "object", + "description": "The list of available versions for an agent pool.", "properties": { - "clientId": { + "id": { "type": "string", - "description": "The ID for the service principal." + "description": "The ID of the agent pool version list.", + "readOnly": true }, - "secret": { + "name": { "type": "string", - "description": "The secret password associated with the service principal in plain text." + "description": "The name of the agent pool version list.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the agent pool version list.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", + "description": "Properties of agent pool available versions.", + "x-ms-client-flatten": true } }, - "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", "required": [ - "clientId" + "properties" ] }, - "VirtualMachinesProfile": { + "AgentPoolAvailableVersionsProperties": { "type": "object", + "description": "The list of available agent pool versions.", "properties": { - "scale": { - "$ref": "#/definitions/ScaleProfile", - "description": "Specifications on how to scale a VirtualMachines agent pool." + "agentPoolVersions": { + "type": "array", + "description": "List of versions available for agent pool.", + "items": { + "$ref": "#/definitions/AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem" + }, + "x-ms-identifiers": [] } - }, - "description": "Specifications on VirtualMachines agent pool." + } }, - "ScaleProfile": { + "AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem": { "type": "object", "properties": { - "manual": { - "type": "array", - "items": { - "$ref": "#/definitions/ManualScaleProfile" - }, - "x-ms-identifiers": [], - "description": "Specifications on how to scale the VirtualMachines agent pool to a fixed size." + "default": { + "type": "boolean", + "description": "Whether this version is the default agent pool version." }, - "autoscale": { - "$ref": "#/definitions/AutoScaleProfile", - "description": "Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range." + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." } - }, - "description": "Specifications on how to scale a VirtualMachines agent pool." + } }, - "ManualScaleProfile": { + "AgentPoolBlueGreenUpgradeSettings": { "type": "object", + "description": "Settings for blue-green upgrade on an agentpool", "properties": { - "size": { + "drainBatchSize": { "type": "string", - "description": "VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'." + "description": "The number or percentage of nodes to drain in batch during blue-green upgrade. Must be a non-zero number. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total number of blue nodes of the initial upgrade operation. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" }, - "count": { + "drainTimeoutInMinutes": { "type": "integer", "format": "int32", - "description": "Number of nodes." - } - }, - "description": "Specifications on number of machines." - }, - "AutoScaleProfile": { - "type": "object", - "properties": { - "size": { - "type": "string", - "description": "VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'." + "description": "The drain timeout for a node, i.e., the amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.", + "minimum": 1, + "maximum": 1440 }, - "minCount": { + "batchSoakDurationInMinutes": { "type": "integer", "format": "int32", - "description": "The minimum number of nodes of the specified sizes." + "description": "The soak duration after draining a batch of nodes, i.e., the amount of time (in minutes) to wait after draining a batch of nodes before moving on the next batch. If not specified, the default is 15 minutes.", + "minimum": 0, + "maximum": 1440 }, - "maxCount": { + "finalSoakDurationInMinutes": { "type": "integer", "format": "int32", - "description": "The maximum number of nodes of the specified sizes." + "description": "The soak duration for a node pool, i.e., the amount of time (in minutes) to wait after all old nodes are drained before we remove the old nodes. If not specified, the default is 60 minutes. Only applicable for blue-green upgrade strategy.", + "minimum": 0, + "maximum": 10080 } - }, - "description": "Specifications on auto-scaling." + } }, - "VirtualMachineNodesStatus": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineNodes" + "AgentPoolDeleteMachinesParameter": { + "type": "object", + "description": "Specifies a list of machine names from the agent pool to be deleted.", + "properties": { + "machineNames": { + "type": "array", + "description": "The agent pool machine names.", + "items": { + "type": "string" + } + } }, - "x-ms-identifiers": [], - "description": "The status of nodes in a VirtualMachines agent pool." + "required": [ + "machineNames" + ] }, - "VirtualMachineNodes": { + "AgentPoolGatewayProfile": { "type": "object", + "description": "Profile of the managed cluster gateway agent pool.", "properties": { - "size": { - "type": "string", - "description": "The VM size of the agents used to host this group of nodes." - }, - "count": { + "publicIPPrefixSize": { "type": "integer", "format": "int32", - "description": "Number of nodes." + "description": "The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.", + "default": 31, + "minimum": 28, + "maximum": 31 } - }, - "description": "Current status on a group of nodes of the same vm size." + } }, - "ManagedClusterAgentPoolProfileProperties": { + "AgentPoolListResult": { "type": "object", + "description": "The response of a AgentPool list operation.", "properties": { - "eTag": { - "type": "string", - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", - "readOnly": true - }, - "count": { - "type": "integer", - "format": "int32", - "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." - }, - "vmSize": { - "type": "string", - "description": "The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" - }, - "osDiskSizeGB": { - "$ref": "#/definitions/ContainerServiceOSDisk" - }, - "osDiskType": { - "$ref": "#/definitions/OSDiskType" - }, - "kubeletDiskType": { - "$ref": "#/definitions/KubeletDiskType" - }, - "workloadRuntime": { - "$ref": "#/definitions/WorkloadRuntime" - }, - "messageOfTheDay": { - "type": "string", - "description": "Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." + "value": { + "type": "array", + "description": "The AgentPool items on this page", + "items": { + "$ref": "#/definitions/AgentPool" + } }, - "vnetSubnetID": { + "nextLink": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/virtualNetworks/subnets" - } - ] + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "AgentPoolMode": { + "type": "string", + "description": "The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools", + "enum": [ + "System", + "User", + "Gateway", + "ManagedSystem", + "Machines" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "name": "System", + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." }, - "description": "The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" - }, - "podSubnetID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/virtualNetworks/subnets" - } - ] + { + "name": "User", + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." }, - "description": "The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" - }, - "podIPAllocationMode": { - "$ref": "#/definitions/PodIPAllocationMode" - }, - "maxPods": { - "type": "integer", - "format": "int32", - "description": "The maximum number of pods that can run on a node." - }, - "osType": { - "$ref": "#/definitions/OSType" - }, - "osSKU": { - "$ref": "#/definitions/OSSKU" - }, - "maxCount": { - "type": "integer", - "format": "int32", - "description": "The maximum number of nodes for auto-scaling" - }, - "minCount": { - "type": "integer", - "format": "int32", - "description": "The minimum number of nodes for auto-scaling" - }, - "enableAutoScaling": { - "type": "boolean", - "description": "Whether to enable auto-scaler" - }, - "scaleDownMode": { - "$ref": "#/definitions/ScaleDownMode", - "description": "The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." - }, - "type": { - "$ref": "#/definitions/AgentPoolType" + { + "name": "Gateway", + "value": "Gateway", + "description": "Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway." + }, + { + "name": "ManagedSystem", + "value": "ManagedSystem", + "description": "ManagedSystem is a system pool managed by AKS. The pool scales dynamically according to cluster usage, and has additional automated monitoring and healing capabilities. There can only be one ManagedSystem pool, and it is recommended to delete all other system pools for the best experience." + }, + { + "name": "Machines", + "value": "Machines", + "description": "Machines agent pools are dedicated to hosting machines. Only limited operations, such as creation and deletion, are allowed at the pool level. Please use the machine APIs to manage the full machine lifecycle." + } + ] + } + }, + "AgentPoolNetworkProfile": { + "type": "object", + "description": "Network settings of an agent pool.", + "properties": { + "nodePublicIPTags": { + "type": "array", + "description": "IPTags of instance-level public IPs.", + "items": { + "$ref": "#/definitions/IPTag" + }, + "x-ms-identifiers": [] }, - "mode": { - "$ref": "#/definitions/AgentPoolMode" + "allowedHostPorts": { + "type": "array", + "description": "The port ranges that are allowed to access. The specified ranges are allowed to overlap.", + "items": { + "$ref": "#/definitions/PortRange" + }, + "x-ms-identifiers": [] }, + "applicationSecurityGroups": { + "type": "array", + "description": "The IDs of the application security groups which agent pool will associate when created.", + "items": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/applicationSecurityGroups" + } + ] + } + } + } + } + }, + "AgentPoolRecentlyUsedVersion": { + "type": "object", + "description": "A historical version that can be used for rollback operations.", + "properties": { "orchestratorVersion": { "type": "string", - "description": "The version of Kubernetes specified by the user. Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." - }, - "currentOrchestratorVersion": { - "readOnly": true, - "type": "string", - "description": "The version of Kubernetes running on the Agent Pool. If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used." + "description": "The Kubernetes version (major.minor.patch) available for rollback." }, "nodeImageVersion": { "type": "string", - "description": "The version of node image" + "description": "The node image version available for rollback." }, - "upgradeStrategy": { + "timestamp": { "type": "string", - "description": "Defines the upgrade strategy for the agent pool. The default is Rolling.", - "enum": [ - "Rolling", - "BlueGreen" - ], - "x-ms-enum": { - "name": "upgradeStrategy", - "modelAsString": true, - "values": [ - { - "value": "Rolling", - "description": "Specifies that the agent pool will conduct rolling upgrade. This is the default upgrade strategy." - }, - { - "value": "BlueGreen", - "description": "Specifies that the agent pool will conduct blue-green upgrade." - } - ] - } - }, - "upgradeSettings": { - "$ref": "#/definitions/AgentPoolUpgradeSettings", - "description": "Settings for upgrading the agentpool. Applies when upgrade strategy is set to Rolling." - }, - "upgradeSettingsBlueGreen": { - "$ref": "#/definitions/AgentPoolBlueGreenUpgradeSettings", - "description": "Settings for Blue-Green upgrade on the agentpool. Applies when upgrade strategy is set to BlueGreen." - }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The current deployment or provisioning state." - }, - "powerState": { - "description": "Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", - "$ref": "#/definitions/PowerState" - }, - "availabilityZones": { - "type": "array", - "items": { - "type": "string" + "format": "date-time", + "description": "The timestamp when this version was last used." + } + } + }, + "AgentPoolSSHAccess": { + "type": "string", + "description": "SSH access method of an agent pool.", + "enum": [ + "LocalUser", + "Disabled", + "EntraId" + ], + "x-ms-enum": { + "name": "AgentPoolSSHAccess", + "modelAsString": true, + "values": [ + { + "name": "LocalUser", + "value": "LocalUser", + "description": "Can SSH onto the node as a local user using private key." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "SSH service will be turned off on the node." }, - "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." + { + "name": "EntraId", + "value": "EntraId", + "description": "SSH to node with EntraId integration. More information can be found under https://aka.ms/aks/ssh/aad" + } + ] + } + }, + "AgentPoolSecurityProfile": { + "type": "object", + "description": "The security settings of an agent pool.", + "properties": { + "enableVTPM": { + "type": "boolean", + "description": "vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." }, - "enableNodePublicIP": { + "enableSecureBoot": { "type": "boolean", - "description": "Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + "description": "Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." }, - "nodePublicIPPrefixID": { + "sshAccess": { + "$ref": "#/definitions/AgentPoolSSHAccess", + "description": "SSH access method of an agent pool." + } + } + }, + "AgentPoolStatus": { + "type": "object", + "description": "Contains read-only information about the Agent Pool.", + "properties": { + "provisioningError": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", + "description": "The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.", + "readOnly": true + } + } + }, + "AgentPoolType": { + "type": "string", + "description": "The type of Agent Pool.", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet", + "VirtualMachines" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true, + "values": [ + { + "name": "VirtualMachineScaleSets", + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "name": "AvailabilitySet", + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + }, + { + "name": "VirtualMachines", + "value": "VirtualMachines", + "description": "Create an Agent Pool backed by a Single Instance VM orchestration mode." + } + ] + } + }, + "AgentPoolUpgradeProfile": { + "type": "object", + "description": "The list of available upgrades for an agent pool.", + "properties": { + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "AgentPoolUpgradeProfileProperties": { + "type": "object", + "description": "The list of available upgrade versions.", + "properties": { + "kubernetesVersion": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ + "description": "The Kubernetes version (major.minor.patch)." + }, + "osType": { + "type": "string", + "description": "The operating system type. The default is Linux.", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true, + "values": [ { - "type": "Microsoft.Network/publicIPPrefixes" + "name": "Linux", + "value": "Linux", + "description": "Use Linux." + }, + { + "name": "Windows", + "value": "Windows", + "description": "Use Windows." } ] - }, - "description": "The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" - }, - "scaleSetPriority": { - "$ref": "#/definitions/ScaleSetPriority", - "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." - }, - "scaleSetEvictionPolicy": { - "$ref": "#/definitions/ScaleSetEvictionPolicy", - "description": "The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." - }, - "spotMaxPrice": { - "$ref": "#/definitions/SpotMaxPrice", - "description": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The tags to be persisted on the agent pool virtual machine scale set." + } }, - "nodeLabels": { - "type": "object", - "additionalProperties": { - "type": "string" + "upgrades": { + "type": "array", + "description": "List of orchestrator types and versions available for upgrade.", + "items": { + "$ref": "#/definitions/AgentPoolUpgradeProfilePropertiesUpgradesItem" }, - "description": "The node labels to be persisted across all nodes in agent pool." + "x-ms-identifiers": [] }, - "nodeTaints": { + "componentsByReleases": { "type": "array", + "description": "List of components grouped by kubernetes major.minor version.", "items": { - "type": "string" + "$ref": "#/definitions/ComponentsByRelease" }, - "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + "x-ms-identifiers": [] }, - "nodeInitializationTaints": { + "recentlyUsedVersions": { "type": "array", + "description": "List of historical good versions for rollback operations.", "items": { - "type": "string" + "$ref": "#/definitions/AgentPoolRecentlyUsedVersion" }, - "description": "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-`" - }, - "proximityPlacementGroupID": { - "$ref": "#/definitions/ProximityPlacementGroupID", - "description": "The ID for Proximity Placement Group." - }, - "kubeletConfig": { - "$ref": "#/definitions/KubeletConfig", - "description": "The Kubelet configuration on the agent pool nodes." + "readOnly": true, + "x-ms-identifiers": [] }, - "linuxOSConfig": { - "$ref": "#/definitions/LinuxOSConfig", - "description": "The OS configuration of Linux agent nodes." + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ] + }, + "AgentPoolUpgradeProfilePropertiesUpgradesItem": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." }, - "enableEncryptionAtHost": { + "isPreview": { "type": "boolean", - "description": "Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + "description": "Whether the Kubernetes version is currently in preview." }, - "enableUltraSSD": { + "isOutOfSupport": { "type": "boolean", - "description": "Whether to enable UltraSSD" + "description": "Whether the Kubernetes version is out of support." + } + } + }, + "AgentPoolUpgradeSettings": { + "type": "object", + "description": "Settings for upgrading an agentpool", + "properties": { + "maxSurge": { + "type": "string", + "description": "The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" }, - "enableFIPS": { - "type": "boolean", - "description": "Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + "maxUnavailable": { + "type": "string", + "description": "The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" }, - "gpuInstanceProfile": { - "$ref": "#/definitions/GPUInstanceProfile", - "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + "maxBlockedNodes": { + "type": "string", + "description": "The maximum number or percentage of extra nodes that are allowed to be blocked in the agent pool during an upgrade when undrainable node behavior is Cordon. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is maxSurge. This must always be greater than or equal to maxSurge. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" }, - "creationData": { - "$ref": "#/definitions/CreationData", - "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + "drainTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.", + "minimum": 1, + "maximum": 1440 }, - "capacityReservationGroupID": { - "$ref": "#/definitions/CapacityReservationGroupID", - "description": "AKS will associate the specified agent pool with the Capacity Reservation Group." + "nodeSoakDurationInMinutes": { + "type": "integer", + "format": "int32", + "description": "The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.", + "minimum": 0, + "maximum": 30 }, - "hostGroupID": { + "undrainableNodeBehavior": { + "$ref": "#/definitions/UndrainableNodeBehavior", + "description": "Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes." + } + } + }, + "AgentPoolWindowsProfile": { + "type": "object", + "description": "The Windows agent pool's specific profile.", + "properties": { + "disableOutboundNat": { + "type": "boolean", + "description": "Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled." + } + } + }, + "AutoScaleProfile": { + "type": "object", + "description": "Specifications on auto-scaling.", + "properties": { + "size": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Compute/hostGroups" - } - ] - }, - "description": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts)." + "description": "VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'." }, - "windowsProfile": { - "$ref": "#/definitions/AgentPoolWindowsProfile", - "description": "The Windows agent pool's specific profile." - }, - "networkProfile": { - "$ref": "#/definitions/AgentPoolNetworkProfile", - "description": "Network-related settings of an agent pool." - }, - "securityProfile": { - "$ref": "#/definitions/AgentPoolSecurityProfile", - "description": "The security settings of an agent pool." - }, - "gpuProfile": { - "$ref": "#/definitions/GPUProfile", - "description": "The GPU settings of an agent pool." - }, - "artifactStreamingProfile": { - "$ref": "#/definitions/AgentPoolArtifactStreamingProfile", - "description": "Configuration for using artifact streaming on AKS." - }, - "virtualMachinesProfile": { - "$ref": "#/definitions/VirtualMachinesProfile" - }, - "virtualMachineNodesStatus": { - "$ref": "#/definitions/VirtualMachineNodesStatus" - }, - "gatewayProfile": { - "$ref": "#/definitions/AgentPoolGatewayProfile", - "description": "Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway." - }, - "status": { - "$ref": "#/definitions/AgentPoolStatus", - "description": "Contains read-only information about the Agent Pool." - }, - "localDNSProfile": { - "$ref": "#/definitions/LocalDNSProfile", - "description": "Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns." + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes of the specified sizes." }, - "nodeCustomizationProfile": { - "$ref": "#/definitions/NodeCustomizationProfile", - "description": "Settings to determine the node customization used to provision nodes in a pool." + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes of the specified sizes." } - }, - "description": "Properties for the container service agent pool profile." + } }, - "AgentPoolNetworkProfile": { + "AzureKeyVaultKms": { "type": "object", + "description": "Azure Key Vault key management service settings for the security profile.", "properties": { - "nodePublicIPTags": { - "$ref": "#/definitions/NodePublicIPTags", - "description": "IPTags of instance-level public IPs." + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Key Vault key management service. The default is false." }, - "allowedHostPorts": { - "type": "array", - "description": "The port ranges that are allowed to access. The specified ranges are allowed to overlap.", - "items": { - "$ref": "#/definitions/PortRange" - }, - "x-ms-identifiers": [] + "keyId": { + "type": "string", + "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty." }, - "applicationSecurityGroups": { - "type": "array", - "items": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/applicationSecurityGroups" - } - ] - } - }, - "description": "The IDs of the application security groups which agent pool will associate when created." - } - }, - "description": "Network settings of an agent pool." - }, - "NodeCustomizationProfile": { - "type": "object", - "description": "Settings to determine the node customization used to provision nodes in a pool.", - "properties": { - "nodeCustomizationId": { + "keyVaultNetworkAccess": { + "type": "string", + "description": "Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`.", + "default": "Public", + "enum": [ + "Public", + "Private" + ], + "x-ms-enum": { + "name": "KeyVaultNetworkAccessTypes", + "modelAsString": true, + "values": [ + { + "name": "Public", + "value": "Public" + }, + { + "name": "Private", + "value": "Private" + } + ] + } + }, + "keyVaultResourceId": { "type": "string", "format": "arm-id", - "description": "The resource ID of the node customization resource to use. This can be a version. Omitting the version will use the latest version of the node customization.", + "description": "Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty.", "x-ms-arm-id-details": { "allowedResources": [ { - "type": "Microsoft.ContainerService/nodeCustomizations" + "type": "Microsoft.KeyVault/vaults" } ] } } } }, - "NodePublicIPTags": { - "type": "array", - "items": { - "$ref": "#/definitions/IPTag" - }, - "x-ms-identifiers": [], - "description": "The list of tags associated with the node public IP address." - }, - "IPTag": { + "ClusterUpgradeSettings": { "type": "object", + "description": "Settings for upgrading a cluster.", "properties": { - "ipTagType": { - "type": "string", - "description": "The IP tag type. Example: RoutingPreference." - }, - "tag": { - "type": "string", - "description": "The value of the IP tag associated with the public IP. Example: Internet." + "overrideSettings": { + "$ref": "#/definitions/UpgradeOverrideSettings", + "description": "Settings for overrides." } - }, - "description": "Contains the IPTag associated with the object." + } }, - "PortRange": { + "Code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "Code", + "modelAsString": true, + "values": [ + { + "name": "Running", + "value": "Running", + "description": "The cluster is running." + }, + { + "name": "Stopped", + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + }, + "CommandResultProperties": { "type": "object", - "description": "The port range.", + "description": "The results of a run command", "properties": { - "portStart": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 65535, - "description": "The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd." + "provisioningState": { + "type": "string", + "description": "provisioning State", + "readOnly": true }, - "portEnd": { + "exitCode": { "type": "integer", "format": "int32", - "minimum": 1, - "maximum": 65535, - "description": "The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart." + "description": "The exit code of the command", + "readOnly": true }, - "protocol": { + "startedAt": { "type": "string", - "description": "The network protocol of the port.", - "enum": [ - "TCP", - "UDP" - ], - "x-ms-enum": { - "name": "Protocol", - "modelAsString": true, - "values": [ - { - "value": "TCP", - "description": "TCP protocol." - }, - { - "value": "UDP", - "description": "UDP protocol." - } - ] - } + "format": "date-time", + "description": "The time when the command started.", + "readOnly": true + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "description": "The time when the command finished.", + "readOnly": true + }, + "logs": { + "type": "string", + "description": "The command output.", + "readOnly": true + }, + "reason": { + "type": "string", + "description": "An explanation of why provisioningState is set to failed (if so).", + "readOnly": true } } }, - "ManagedClusterAgentPoolProfile": { + "CompatibleVersions": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + "description": "Version information about a product/service that is compatible with a service mesh revision.", + "properties": { + "name": { + "type": "string", + "description": "The product/service name." + }, + "versions": { + "type": "array", + "description": "Product/service versions compatible with a service mesh add-on revision.", + "items": { + "$ref": "#/definitions/CompatibleVersionsVersionsType" + } } - ], + } + }, + "CompatibleVersionsVersionsType": { + "type": "string", + "description": "A compatible product/service version." + }, + "Component": { + "type": "object", "properties": { "name": { "type": "string", - "description": "Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.", - "pattern": "^[a-z][a-z0-9]{0,11}$" + "description": "Component name." + }, + "version": { + "type": "string", + "description": "Component version." + }, + "hasBreakingChanges": { + "type": "boolean", + "description": "If upgraded component version contains breaking changes from the current version. To see a detailed description of what the breaking changes are, visit https://learn.microsoft.com/azure/aks/supported-kubernetes-versions?tabs=azure-cli#aks-components-breaking-changes-by-version." } - }, - "required": [ - "name" - ], - "description": "Profile for the container service agent pool." + } }, - "AgentPoolType": { + "ComponentsByRelease": { + "type": "object", + "description": "components of given Kubernetes version.", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor)." + }, + "components": { + "type": "array", + "description": "components of current or upgraded Kubernetes version in the cluster.", + "items": { + "$ref": "#/definitions/Component" + }, + "x-ms-identifiers": [] + } + } + }, + "ConnectionStatus": { "type": "string", + "description": "The private link service connection status.", "enum": [ - "VirtualMachineScaleSets", - "AvailabilitySet", - "VirtualMachines" + "Pending", + "Approved", + "Rejected", + "Disconnected" ], "x-ms-enum": { - "name": "AgentPoolType", + "name": "ConnectionStatus", "modelAsString": true, "values": [ { - "value": "VirtualMachineScaleSets", - "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + "name": "Pending", + "value": "Pending" }, { - "value": "AvailabilitySet", - "description": "Use of this is strongly discouraged." + "name": "Approved", + "value": "Approved" }, { - "value": "VirtualMachines", - "description": "Create an Agent Pool backed by a Single Instance VM orchestration mode." + "name": "Rejected", + "value": "Rejected" + }, + { + "name": "Disconnected", + "value": "Disconnected" } ] - }, - "description": "The type of Agent Pool." + } }, - "AgentPoolMode": { - "type": "string", - "enum": [ - "System", - "User", - "Gateway", - "ManagedSystem", - "Machines" - ], - "x-ms-enum": { - "name": "AgentPoolMode", - "modelAsString": true, - "values": [ - { - "value": "System", - "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." - }, - { - "value": "User", - "description": "User agent pools are primarily for hosting your application pods." - }, - { - "value": "Gateway", - "description": "Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway." - }, - { - "value": "ManagedSystem", - "description": "ManagedSystem is a system pool managed by AKS. The pool scales dynamically according to cluster usage, and has additional automated monitoring and healing capabilities. There can only be one ManagedSystem pool, and it is recommended to delete all other system pools for the best experience." - }, - { - "value": "Machines", - "description": "Machines agent pools are dedicated to hosting machines. Only limited operations, such as creation and deletion, are allowed at the pool level. Please use the machine APIs to manage the full machine lifecycle." - } - ] - }, - "description": "The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" - }, - "AgentPoolListResult": { + "ContainerServiceLinuxProfile": { "type": "object", + "description": "Profile for Linux VMs in the container service cluster.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AgentPool" - }, - "description": "The list of agent pools." - }, - "nextLink": { + "adminUsername": { "type": "string", - "description": "The URL to get the next set of agent pool results.", - "readOnly": true + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + }, + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "The SSH configuration for Linux-based VMs running on Azure." } }, - "description": "The response from the List Agent Pools operation." + "required": [ + "adminUsername", + "ssh" + ] }, - "AgentPoolUpgradeSettings": { + "ContainerServiceNetworkProfile": { "type": "object", + "description": "Profile of network configuration.", "properties": { - "maxSurge": { - "type": "string", - "description": "The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" + "networkPlugin": { + "$ref": "#/definitions/NetworkPlugin", + "description": "Network plugin used for building the Kubernetes network." }, - "maxUnavailable": { - "type": "string", - "description": "The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" + "networkPluginMode": { + "$ref": "#/definitions/NetworkPluginMode", + "description": "The mode the network plugin should use." }, - "maxBlockedNodes": { + "networkPolicy": { + "$ref": "#/definitions/NetworkPolicy", + "description": "Network policy used for building the Kubernetes network." + }, + "networkMode": { + "$ref": "#/definitions/NetworkMode", + "description": "The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "networkDataplane": { + "$ref": "#/definitions/NetworkDataplane", + "description": "Network dataplane used in the Kubernetes cluster." + }, + "advancedNetworking": { + "$ref": "#/definitions/AdvancedNetworking", + "description": "Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking." + }, + "podCidr": { "type": "string", - "description": "The maximum number or percentage of extra nodes that are allowed to be blocked in the agent pool during an upgrade when undrainable node behavior is Cordon. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is maxSurge. This must always be greater than or equal to maxSurge. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.", + "default": "10.244.0.0/16", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" }, - "drainTimeoutInMinutes": { - "type": "integer", - "format": "int32", - "maximum": 1440, - "minimum": 1, - "description": "The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes." + "serviceCidr": { + "type": "string", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.", + "default": "10.0.0.0/16", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" }, - "nodeSoakDurationInMinutes": { - "type": "integer", - "format": "int32", - "maximum": 30, - "minimum": 0, - "description": "The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes." + "dnsServiceIP": { + "type": "string", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.", + "default": "10.0.0.10", + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" }, - "undrainableNodeBehavior": { + "outboundType": { "type": "string", - "description": "Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.", + "description": "The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype).", + "default": "loadBalancer", "enum": [ - "Schedule", - "Cordon" + "loadBalancer", + "userDefinedRouting", + "managedNATGateway", + "userAssignedNATGateway", + "none" ], "x-ms-enum": { - "name": "UndrainableNodeBehavior", + "name": "OutboundType", "modelAsString": true, "values": [ { - "value": "Cordon", - "description": "AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state." + "name": "loadBalancer", + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "name": "userDefinedRouting", + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "name": "managedNATGateway", + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "name": "userAssignedNATGateway", + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." }, { - "value": "Schedule", - "description": "AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes." + "name": "none", + "value": "none", + "description": "The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/" } ] } + }, + "loadBalancerSku": { + "$ref": "#/definitions/LoadBalancerSku", + "description": "The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + }, + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." + }, + "staticEgressGatewayProfile": { + "$ref": "#/definitions/ManagedClusterStaticEgressGatewayProfile", + "description": "The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway." + }, + "podCidrs": { + "type": "array", + "description": "The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.", + "items": { + "type": "string" + } + }, + "serviceCidrs": { + "type": "array", + "description": "The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.", + "items": { + "type": "string" + } + }, + "ipFamilies": { + "type": "array", + "description": "The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.", + "items": { + "$ref": "#/definitions/IPFamily" + } + }, + "podLinkLocalAccess": { + "$ref": "#/definitions/PodLinkLocalAccess", + "description": "Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods with hostNetwork=false. if not specified, the default is 'IMDS'." + }, + "kubeProxyConfig": { + "$ref": "#/definitions/ContainerServiceNetworkProfileKubeProxyConfig", + "description": "Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'." } - }, - "description": "Settings for rolling upgrade on an agentpool" + } }, - "AgentPoolBlueGreenUpgradeSettings": { + "ContainerServiceNetworkProfileKubeProxyConfig": { "type": "object", + "description": "Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'.", "properties": { - "drainBatchSize": { - "type": "string", - "description": "The number or percentage of nodes to drain in batch during blue-green upgrade. Must be a non-zero number. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total number of blue nodes of the initial upgrade operation. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" + "enabled": { + "type": "boolean", + "description": "Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations)." }, - "drainTimeoutInMinutes": { + "mode": { + "$ref": "#/definitions/Mode", + "description": "Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES')" + }, + "ipvsConfig": { + "$ref": "#/definitions/ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig", + "description": "Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'." + } + } + }, + "ContainerServiceNetworkProfileKubeProxyConfigIpvsConfig": { + "type": "object", + "description": "Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'.", + "properties": { + "scheduler": { + "$ref": "#/definitions/IpvsScheduler", + "description": "IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html." + }, + "tcpTimeoutSeconds": { "type": "integer", "format": "int32", - "maximum": 1440, - "minimum": 1, - "description": "The drain timeout for a node, i.e., the amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes." + "description": "The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value." }, - "batchSoakDurationInMinutes": { + "tcpFinTimeoutSeconds": { "type": "integer", "format": "int32", - "maximum": 1440, - "minimum": 0, - "description": "The soak duration after draining a batch of nodes, i.e., the amount of time (in minutes) to wait after draining a batch of nodes before moving on the next batch. If not specified, the default is 15 minutes." + "description": "The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value." }, - "finalSoakDurationInMinutes": { + "udpTimeoutSeconds": { "type": "integer", - "description": "The soak duration for a node pool, i.e., the amount of time (in minutes) to wait after all old nodes are drained before we remove the old nodes. If not specified, the default is 60 minutes. Only applicable for blue-green upgrade strategy.", "format": "int32", - "maximum": 10080, - "minimum": 0 + "description": "The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value." } - }, - "description": "Settings for blue-green upgrade on an agentpool" + } }, - "AgentPool": { + "ContainerServiceSshConfiguration": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ], + "description": "SSH configuration for Linux-based VMs running on Azure.", "properties": { - "properties": { - "description": "Properties of an agent pool.", - "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", - "x-ms-client-flatten": true + "publicKeys": { + "type": "array", + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "x-ms-identifiers": [] } }, - "description": "Agent Pool." + "required": [ + "publicKeys" + ] }, - "ManagedNamespaceListResult": { + "ContainerServiceSshPublicKey": { "type": "object", + "description": "Contains information about SSH certificate public key data.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedNamespace" - }, - "description": "The list of managed namespaces." - }, - "nextLink": { + "keyData": { "type": "string", - "description": "The URI to fetch the next page of results, if any." + "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." } }, - "description": "The result of a request to list managed namespaces in a managed cluster." + "required": [ + "keyData" + ] }, - "ManagedNamespace": { + "CreationData": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ], + "description": "Data used when creating a target resource from a source resource.", "properties": { - "systemData": { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", - "readOnly": true, - "description": "The system metadata relating to this resource." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The tags to be persisted on the managed cluster namespace." - }, - "eTag": { - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", - "readOnly": true, - "type": "string" - }, - "location": { + "sourceResourceId": { "type": "string", - "description": "The location of the namespace.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "properties": { - "description": "Properties of a namespace.", - "$ref": "#/definitions/NamespaceProperties" + "format": "arm-id", + "description": "This is the ARM ID of the source object to be used to create the target object." } - }, - "description": "Namespace managed by ARM." + } }, - "NamespaceProperties": { + "CredentialResult": { "type": "object", - "description": "Properties of a namespace managed by ARM", + "description": "The credential result response.", "properties": { - "provisioningState": { + "name": { "type": "string", - "readOnly": true, - "description": "The current provisioning state of the namespace.", - "enum": [ - "Updating", - "Deleting", - "Creating", - "Succeeded", - "Failed", - "Canceled" - ], - "x-ms-enum": { - "name": "NamespaceProvisioningState", - "modelAsString": true - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The labels of managed namespace." - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The annotations of managed namespace." - }, - "portalFqdn": { - "readOnly": true, - "type": "string", - "description": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." - }, - "defaultResourceQuota": { - "description": "The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied.", - "$ref": "#/definitions/ResourceQuota" - }, - "defaultNetworkPolicy": { - "description": "The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow.", - "$ref": "#/definitions/NetworkPolicies" - }, - "adoptionPolicy": { - "type": "string", - "description": "Action if Kubernetes namespace with same name already exists.", - "enum": [ - "Never", - "IfIdentical", - "Always" - ], - "x-ms-enum": { - "name": "AdoptionPolicy", - "modelAsString": true, - "values": [ - { - "value": "Never", - "description": "If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail." - }, - { - "value": "IfIdentical", - "description": "Take over the existing namespace to be managed by ARM, if there is no difference." - }, - { - "value": "Always", - "description": "Always take over the existing namespace to be managed by ARM, some fields might be overwritten." - } - ] - } + "description": "The name of the credential.", + "readOnly": true }, - "deletePolicy": { + "value": { "type": "string", - "description": "Delete options of a namespace.", - "enum": [ - "Keep", - "Delete" - ], - "x-ms-enum": { - "name": "DeletePolicy", - "modelAsString": true, - "values": [ - { - "value": "Keep", - "description": "Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label." - }, - { - "value": "Delete", - "description": "Delete both the ARM resource and the Kubernetes namespace together." - } - ] - } + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file.", + "readOnly": true } } }, - "ResourceQuota": { + "CredentialResults": { "type": "object", - "description": "Resource quota for the namespace.", + "description": "The list credential result response.", "properties": { - "cpuRequest": { - "type": "string", - "description": "CPU request of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details." - }, - "cpuLimit": { - "type": "string", - "description": "CPU limit of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details." - }, - "memoryRequest": { - "type": "string", - "description": "Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details." - }, - "memoryLimit": { - "type": "string", - "description": "Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details." + "kubeconfigs": { + "type": "array", + "description": "Base64-encoded Kubernetes configuration file.", + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "readOnly": true, + "x-ms-identifiers": [] } } }, - "NetworkPolicies": { + "DailySchedule": { "type": "object", - "description": "Default network policy of the namespace, specifying ingress and egress rules.", + "description": "For schedules like: 'recur every day' or 'recur every 3 days'.", "properties": { - "ingress": { - "$ref": "#/definitions/PolicyRule", - "description": "Ingress policy for the network.", - "default": "AllowSameNamespace" + "intervalDays": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of days between each set of occurrences.", + "minimum": 1, + "maximum": 7 + } + }, + "required": [ + "intervalDays" + ] + }, + "DateSpan": { + "type": "object", + "description": "A date range. For example, between '2022-12-23' and '2023-01-05'.", + "properties": { + "start": { + "type": "string", + "format": "date", + "description": "The start date of the date span." }, - "egress": { - "$ref": "#/definitions/PolicyRule", - "description": "Egress policy for the network.", - "default": "AllowAll" + "end": { + "type": "string", + "format": "date", + "description": "The end date of the date span." } - } + }, + "required": [ + "start", + "end" + ] }, - "PolicyRule": { + "DeletePolicy": { "type": "string", - "description": "Enum representing different network policy rules.", + "description": "Delete options of a namespace.", "enum": [ - "DenyAll", - "AllowAll", - "AllowSameNamespace" + "Keep", + "Delete" ], "x-ms-enum": { - "name": "PolicyRule", + "name": "DeletePolicy", "modelAsString": true, "values": [ { - "value": "DenyAll", - "description": "Deny all network traffic." + "name": "Keep", + "value": "Keep", + "description": "Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label." }, { - "value": "AllowAll", - "description": "Allow all network traffic." + "name": "Delete", + "value": "Delete", + "description": "Delete both the ARM resource and the Kubernetes namespace together." + } + ] + } + }, + "DriftAction": { + "type": "string", + "description": "The drift action of the machine. Indicates whether a machine has deviated from its expected state due to changes in managed cluster properties, requiring corrective action.", + "enum": [ + "Synced", + "Recreate" + ], + "x-ms-enum": { + "name": "DriftAction", + "modelAsString": true, + "values": [ + { + "name": "Synced", + "value": "Synced", + "description": "The machine is up to date." }, { - "value": "AllowSameNamespace", - "description": "Allow traffic within the same namespace." + "name": "Recreate", + "value": "Recreate", + "description": "The machine has drifted and needs to be deleted and recreated." } ] } }, - "MachineListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "x-ms-identifiers": [ - "id" - ], - "items": { - "$ref": "#/definitions/Machine" + "DriverType": { + "type": "string", + "description": "Specify the type of GPU driver to install when creating Windows agent pools. If not provided, AKS selects the driver based on system compatibility. This cannot be changed once the AgentPool has been created. This cannot be set on Linux AgentPools. For Linux AgentPools, the driver is selected based on system compatibility.", + "enum": [ + "GRID", + "CUDA" + ], + "x-ms-enum": { + "name": "DriverType", + "modelAsString": true, + "values": [ + { + "name": "GRID", + "value": "GRID", + "description": "Install the GRID driver for the GPU, suitable for applications requiring virtualization support." }, - "description": "The list of Machines in cluster." - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The URL to get the next set of machine results.", - "readOnly": true - } - }, - "description": "The response from the List Machines operation." + { + "name": "CUDA", + "value": "CUDA", + "description": "Install the CUDA driver for the GPU, optimized for computational tasks in scientific computing and data-intensive applications." + } + ] + } }, - "Machine": { + "EndpointDependency": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ], + "description": "A domain name that AKS agent nodes are reaching at.", "properties": { - "zones": { + "domainName": { + "type": "string", + "description": "The domain name of the dependency." + }, + "endpointDetails": { "type": "array", + "description": "The Ports and Protocols used when connecting to domainName.", "items": { - "type": "string" + "$ref": "#/definitions/EndpointDetail" }, - "description": "The Availability zone in which machine is located." - }, - "properties": { - "$ref": "#/definitions/MachineProperties", - "description": "The properties of the machine" + "x-ms-identifiers": [] } - }, - "description": "A machine provides detailed information about its configuration and status. 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." + } }, - "MachineProperties": { + "EndpointDetail": { "type": "object", - "description": "The properties of the machine", + "description": "connect information from the AKS agent nodes to a single endpoint.", "properties": { - "network": { - "$ref": "#/definitions/MachineNetworkProperties" - }, - "resourceId": { - "readOnly": true, + "ipAddress": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Compute/virtualMachines" - } - ] - }, - "description": "Arm resource id of the machine. It can be used to GET underlying VM Instance" - }, - "hardware": { - "$ref": "#/definitions/MachineHardwareProfile" + "description": "An IP Address that Domain Name currently resolves to." }, - "operatingSystem": { - "$ref": "#/definitions/MachineOSProfile" - }, - "kubernetes": { - "$ref": "#/definitions/MachineKubernetesProfile" - }, - "mode": { - "description": "Machine only allows 'System' and 'User' mode.", - "$ref": "#/definitions/AgentPoolMode" - }, - "security": { - "$ref": "#/definitions/MachineSecurityProfile", - "description": "The security settings of the machine." - }, - "priority": { - "$ref": "#/definitions/ScaleSetPriority", - "description": "The priority for the machine. If not specified, the default is 'Regular'." - }, - "nodeImageVersion": { - "type": "string", - "description": "The version of node image." + "port": { + "type": "integer", + "format": "int32", + "description": "The port an endpoint is connected to." }, - "provisioningState": { - "readOnly": true, + "protocol": { "type": "string", - "description": "The current deployment or provisioning state." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The tags to be persisted on the machine." + "description": "The protocol used for connection" }, - "eTag": { + "description": { "type": "string", - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", - "readOnly": true - }, - "status": { - "$ref": "#/definitions/MachineStatus", - "readOnly": true, - "description": "Contains read-only information about the machine." + "description": "Description of the detail" } } }, - "MachineNetworkProperties": { - "type": "object", - "description": "The network properties of the machine", - "properties": { - "ipAddresses": { - "type": "array", - "x-ms-identifiers": [], - "readOnly": true, - "description": "IPv4, IPv6 addresses of the machine", - "items": { - "$ref": "#/definitions/MachineIpAddress" - } - }, - "vnetSubnetID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/virtualNetworks/subnets" - } - ] - }, - "description": "The ID of the subnet which node and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" - }, - "podSubnetID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/virtualNetworks/subnets" - } - ] + "Expander": { + "type": "string", + "description": "The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information.", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" + ], + "x-ms-enum": { + "name": "Expander", + "modelAsString": true, + "values": [ + { + "name": "least-waste", + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." }, - "description": "The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" - }, - "enableNodePublicIP": { - "type": "boolean", - "description": "Whether the machine is allocated its own public IP. Some scenarios may require the machine to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. The default is false." - }, - "nodePublicIPPrefixID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/publicIPPrefixes" - } - ] + { + "name": "most-pods", + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." }, - "description": "The public IP prefix ID which VM node should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" - }, - "nodePublicIPTags": { - "$ref": "#/definitions/NodePublicIPTags", - "description": "IPTags of instance-level public IPs." - } + { + "name": "priority", + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." + }, + { + "name": "random", + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." + } + ] } }, - "MachineIpAddress": { - "description": "The machine IP address details.", + "ExtendedLocation": { + "type": "object", + "description": "The complex type of the extended location.", "properties": { - "family": { - "description": "To determine if address belongs IPv4 or IPv6 family", - "enum": [ - "IPv4", - "IPv6" - ], - "readOnly": true, + "name": { "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "IPFamily", - "values": [ - { - "description": "IPv4 family", - "value": "IPv4" - }, - { - "description": "IPv6 family", - "value": "IPv6" - } - ] - } + "description": "The name of the extended location." }, - "ip": { - "description": "IPv4 or IPv6 address of the machine", - "readOnly": true, - "type": "string" + "type": { + "$ref": "#/definitions/ExtendedLocationTypes", + "description": "The type of the extended location." } - }, - "readOnly": true, - "type": "object" + } }, - "MachineHardwareProfile": { - "description": "The hardware and GPU settings of the machine.", + "ExtendedLocationTypes": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true, + "values": [ + { + "name": "EdgeZone", + "value": "EdgeZone" + } + ] + } + }, + "GPUDriver": { + "type": "string", + "description": "Whether to install GPU drivers. When it's not specified, default is Install.", + "enum": [ + "Install", + "None" + ], + "x-ms-enum": { + "name": "GPUDriver", + "modelAsString": true, + "values": [ + { + "name": "Install", + "value": "Install", + "description": "Install driver." + }, + { + "name": "None", + "value": "None", + "description": "Skip driver install." + } + ] + } + }, + "GPUInstanceProfile": { + "type": "string", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile", + "modelAsString": true, + "values": [ + { + "name": "MIG1g", + "value": "MIG1g" + }, + { + "name": "MIG2g", + "value": "MIG2g" + }, + { + "name": "MIG3g", + "value": "MIG3g" + }, + { + "name": "MIG4g", + "value": "MIG4g" + }, + { + "name": "MIG7g", + "value": "MIG7g" + } + ] + } + }, + "GPUProfile": { + "type": "object", + "description": "GPU settings for the Agent Pool.", "properties": { - "vmSize": { - "type": "string", - "description": "The size of the VM. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" - }, - "gpuInstanceProfile": { - "$ref": "#/definitions/GPUInstanceProfile", - "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + "driver": { + "$ref": "#/definitions/GPUDriver", + "description": "Whether to install GPU drivers. When it's not specified, default is Install." }, - "gpuProfile": { - "$ref": "#/definitions/GPUProfile", - "description": "The GPU settings of the machine." + "driverType": { + "$ref": "#/definitions/DriverType", + "description": "Specify the type of GPU driver to install when creating Windows agent pools. If not provided, AKS selects the driver based on system compatibility. This cannot be changed once the AgentPool has been created. This cannot be set on Linux AgentPools. For Linux AgentPools, the driver is selected based on system compatibility." } - }, - "type": "object" + } }, - "MachineOSProfile": { - "description": "The operating system and disk used by the machine.", + "GuardrailsAvailableVersion": { + "type": "object", + "description": "Available Guardrails Version", "properties": { - "osType": { - "$ref": "#/definitions/OSType" - }, - "osSKU": { - "$ref": "#/definitions/OSSKU" - }, - "osDiskSizeGB": { - "$ref": "#/definitions/ContainerServiceOSDisk" - }, - "osDiskType": { - "$ref": "#/definitions/OSDiskType" - }, - "enableFIPS": { - "type": "boolean", - "description": "Whether to use a FIPS-enabled OS." - }, - "linuxProfile": { - "type": "object", - "description": "The Linux machine's specific profile.", - "properties": { - "linuxOSConfig": { - "$ref": "#/definitions/LinuxOSConfig", - "description": "The OS configuration of Linux machine." - }, - "messageOfTheDay": { - "type": "string", - "description": "Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." - } - } - }, - "windowsProfile": { - "$ref": "#/definitions/AgentPoolWindowsProfile", - "description": "The Windows machine's specific profile." + "properties": { + "$ref": "#/definitions/GuardrailsAvailableVersionsProperties", + "description": "Whether the version is default or not and support info." } }, - "type": "object" + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "MachineKubernetesProfile": { - "description": "The Kubernetes configurations used by the machine.", + "GuardrailsAvailableVersionsList": { + "type": "object", + "description": "Hold values properties, which is array of GuardrailsVersions", "properties": { - "nodeLabels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The node labels on the machine." - }, - "orchestratorVersion": { - "type": "string", - "description": "The version of Kubernetes specified by the user. Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically." - }, - "currentOrchestratorVersion": { - "readOnly": true, - "type": "string", - "description": "The version of Kubernetes running on the machine. If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used." - }, - "kubeletDiskType": { - "$ref": "#/definitions/KubeletDiskType" - }, - "kubeletConfig": { - "$ref": "#/definitions/KubeletConfig", - "description": "The Kubelet configuration on the machine." - }, - "nodeInitializationTaints": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Taints added on the node 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. 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-`" - }, - "nodeTaints": { + "value": { "type": "array", + "description": "The GuardrailsAvailableVersion items on this page", "items": { - "type": "string" - }, - "description": "The taints added to new node during machine create. For example, key=value:NoSchedule." - }, - "maxPods": { - "type": "integer", - "format": "int32", - "description": "The maximum number of pods that can run on a node." + "$ref": "#/definitions/GuardrailsAvailableVersion" + } }, - "nodeName": { + "nextLink": { "type": "string", - "description": "The node name in the Kubernetes cluster.", - "readOnly": true - }, - "workloadRuntime": { - "$ref": "#/definitions/WorkloadRuntime" - }, - "artifactStreamingProfile": { - "$ref": "#/definitions/AgentPoolArtifactStreamingProfile", - "description": "Configuration for using artifact streaming on AKS." + "format": "uri", + "description": "The link to the next page of items" } }, - "type": "object" + "required": [ + "value" + ] }, - "MachineStatus": { - "description": "Contains read-only information about the machine.", + "GuardrailsAvailableVersionsProperties": { + "type": "object", + "description": "Whether the version is default or not and support info.", "properties": { - "provisioningError": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "readOnly": true, - "description": "The error details information of the machine. Preserves the detailed info of failure. If there was no error, this field is omitted." - }, - "creationTimestamp": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Specifies the time at which the machine was created." + "isDefaultVersion": { + "type": "boolean", + "readOnly": true }, - "driftAction": { - "description": "The drift action of the machine. Indicates whether a machine has deviated from its expected state due to changes in managed cluster properties, requiring corrective action.", - "readOnly": true, - "enum": [ - "Synced", - "Recreate" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "driftAction", - "values": [ - { - "description": "The machine is up to date.", - "value": "Synced" - }, - { - "description": "The machine has drifted and needs to be deleted and recreated.", - "value": "Recreate" - } - ] - } - }, - "driftReason": { - "type": "string", - "readOnly": true, - "description": "Reason for machine drift. Provides detailed information on why the machine has drifted. This field is omitted if the machine is up to date." - }, - "vmState": { - "description": "Virtual machine state. Indicates the current state of the underlying virtual machine.", - "readOnly": true, - "enum": [ - "Running", - "Deleted" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "vmState", - "values": [ - { - "description": "The virtual machine is currently running.", - "value": "Running" - }, - { - "description": "The virtual machine has been deleted by the user or due to spot eviction.", - "value": "Deleted" - } - ] - } + "support": { + "$ref": "#/definitions/GuardrailsSupport", + "description": "Whether the version is preview or stable.", + "readOnly": true } - }, - "type": "object" + } }, - "PodLinkLocalAccess": { + "GuardrailsSupport": { "type": "string", - "description": "Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods with hostNetwork=false. If not specified, the default is 'IMDS'.", + "description": "Whether the version is preview or stable.", "enum": [ - "IMDS", - "None" + "Preview", + "Stable" ], "x-ms-enum": { - "name": "PodLinkLocalAccess", + "name": "GuardrailsSupport", "modelAsString": true, "values": [ { - "value": "IMDS", - "description": "Pods with hostNetwork=false can access Azure Instance Metadata Service (IMDS) without restriction." + "name": "Preview", + "value": "Preview", + "description": "The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases." }, { - "value": "None", - "description": "Pods with hostNetwork=false cannot access Azure Instance Metadata Service (IMDS)." + "name": "Stable", + "value": "Stable", + "description": "The version is stable and can be used on critical production clusters." } ] } }, - "ManagedClusterWindowsProfile": { + "HourInDay": { + "type": "integer", + "format": "int32", + "description": "Hour in a day.", + "minimum": 0, + "maximum": 23 + }, + "IPFamily": { + "type": "string", + "description": "To determine if address belongs IPv4 or IPv6 family", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPFamily", + "modelAsString": true, + "values": [ + { + "name": "IPv4", + "value": "IPv4", + "description": "IPv4 family" + }, + { + "name": "IPv6", + "value": "IPv6", + "description": "IPv6 family" + } + ] + } + }, + "IPTag": { "type": "object", + "description": "Contains the IPTag associated with the object.", "properties": { - "adminUsername": { + "ipTagType": { "type": "string", - "description": "Specifies the name of the administrator account.

**Restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length:** 1 character

**Max-length:** 20 characters" + "description": "The IP tag type. Example: RoutingPreference." }, - "adminPassword": { + "tag": { "type": "string", - "description": "Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"" + "description": "The value of the IP tag associated with the public IP. Example: Internet." + } + } + }, + "IdentityBinding": { + "type": "object", + "description": "The IdentityBinding resource.", + "properties": { + "properties": { + "$ref": "#/definitions/IdentityBindingProperties", + "description": "The resource-specific properties for this resource." }, - "licenseType": { + "eTag": { "type": "string", - "enum": [ - "None", - "Windows_Server" - ], - "x-ms-enum": { - "name": "licenseType", - "modelAsString": true, - "values": [ - { - "value": "None", - "description": "No additional licensing is applied." - }, - { - "value": "Windows_Server", - "description": "Enables Azure Hybrid User Benefits for Windows VMs." - } - ] - }, - "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." - }, - "enableCSIProxy": { - "type": "boolean", - "description": "Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." - }, - "gmsaProfile": { - "$ref": "#/definitions/WindowsGmsaProfile", - "description": "The Windows gMSA Profile in the Managed Cluster." + "description": "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.", + "readOnly": true } }, - "required": [ - "adminUsername" - ], - "description": "Profile for Windows VMs in the managed cluster." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "WindowsGmsaProfile": { + "IdentityBindingListResult": { "type": "object", + "description": "The response of a IdentityBinding list operation.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster." - }, - "dnsServer": { - "type": "string", - "description": "Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + "value": { + "type": "array", + "description": "The IdentityBinding items on this page", + "items": { + "$ref": "#/definitions/IdentityBinding" + } }, - "rootDomainName": { + "nextLink": { "type": "string", - "description": "Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Windows gMSA Profile in the managed cluster." + "required": [ + "value" + ] }, - "ContainerServiceLinuxProfile": { + "IdentityBindingManagedIdentityProfile": { "type": "object", + "description": "Managed identity profile for the identity binding.", "properties": { - "adminUsername": { + "resourceId": { "type": "string", - "description": "The administrator username to use for Linux VMs.", - "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + "format": "arm-id", + "description": "The resource ID of the managed identity.", + "pattern": "^/subscriptions/[a-zA-Z0-9-]+/resourceGroups/[a-zA-Z0-9-]+/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[a-zA-Z0-9-]+$", + "x-ms-mutability": [ + "read", + "create" + ] }, - "ssh": { - "$ref": "#/definitions/ContainerServiceSshConfiguration", - "description": "The SSH configuration for Linux-based VMs running on Azure." + "objectId": { + "type": "string", + "description": "The object ID of the managed identity.", + "minLength": 36, + "maxLength": 36, + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", + "readOnly": true + }, + "clientId": { + "type": "string", + "description": "The client ID of the managed identity.", + "minLength": 36, + "maxLength": 36, + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "The tenant ID of the managed identity.", + "minLength": 36, + "maxLength": 36, + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", + "readOnly": true } }, "required": [ - "adminUsername", - "ssh" - ], - "description": "Profile for Linux VMs in the container service cluster." + "resourceId" + ] }, - "ManagedClusterNodeResourceGroupProfile": { + "IdentityBindingOidcIssuerProfile": { "type": "object", + "description": "IdentityBinding OIDC issuer profile.", "properties": { - "restrictionLevel": { + "oidcIssuerUrl": { "type": "string", - "enum": [ - "Unrestricted", - "ReadOnly" - ], - "x-ms-enum": { - "name": "RestrictionLevel", - "modelAsString": true, - "values": [ - { - "value": "Unrestricted", - "description": "All RBAC permissions are allowed on the managed node resource group" - }, - { - "value": "ReadOnly", - "description": "Only */read RBAC permissions allowed on the managed node resource group" - } - ] - }, - "description": "The restriction level applied to the cluster's node resource group" + "format": "uri", + "description": "The OIDC issuer URL of the IdentityBinding.", + "readOnly": true } - }, - "description": "Node resource group lockdown profile for a managed cluster." + } }, - "ContainerServiceNetworkProfile": { + "IdentityBindingProperties": { "type": "object", + "description": "IdentityBinding properties.", "properties": { - "networkPlugin": { - "$ref": "#/definitions/NetworkPlugin", - "description": "Network plugin used for building the Kubernetes network." - }, - "networkPluginMode": { - "$ref": "#/definitions/NetworkPluginMode", - "description": "Network plugin mode used for building the Kubernetes network." - }, - "networkPolicy": { - "$ref": "#/definitions/NetworkPolicy", - "description": "Network policy used for building the Kubernetes network." - }, - "networkMode": { - "$ref": "#/definitions/NetworkMode", - "description": "The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'." - }, - "networkDataplane": { - "$ref": "#/definitions/NetworkDataplane", - "description": "Network dataplane used in the Kubernetes cluster." - }, - "podCidr": { - "type": "string", - "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", - "default": "10.244.0.0/16", - "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." - }, - "serviceCidr": { - "type": "string", - "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", - "default": "10.0.0.0/16", - "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + "managedIdentity": { + "$ref": "#/definitions/IdentityBindingManagedIdentityProfile", + "description": "Managed identity profile for the identity binding.", + "x-ms-mutability": [ + "read", + "create" + ] }, - "dnsServiceIP": { - "type": "string", - "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", - "default": "10.0.0.10", - "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + "oidcIssuer": { + "$ref": "#/definitions/IdentityBindingOidcIssuerProfile", + "description": "The OIDC issuer URL of the IdentityBinding.", + "readOnly": true }, - "outboundType": { - "type": "string", - "enum": [ - "loadBalancer", - "userDefinedRouting", - "managedNATGateway", - "userAssignedNATGateway", - "none" - ], - "x-ms-enum": { - "name": "outboundType", - "modelAsString": true, - "values": [ - { - "value": "loadBalancer", - "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." - }, - { - "value": "userDefinedRouting", - "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." - }, - { - "value": "managedNATGateway", - "description": "The AKS-managed NAT gateway is used for egress." - }, - { - "value": "userAssignedNATGateway", - "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." - }, - { - "value": "none", - "description": "The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/" - } - ] + "provisioningState": { + "$ref": "#/definitions/IdentityBindingProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + }, + "required": [ + "managedIdentity" + ] + }, + "IdentityBindingProvisioningState": { + "type": "string", + "description": "The provisioning state of the last accepted operation.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "IdentityBindingProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." }, - "default": "loadBalancer", - "description": "The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." - }, - "loadBalancerSku": { - "$ref": "#/definitions/LoadBalancerSku", - "description": "The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." - }, - "loadBalancerProfile": { - "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", - "description": "Profile of the cluster load balancer." - }, - "natGatewayProfile": { - "$ref": "#/definitions/ManagedClusterNATGatewayProfile", - "description": "Profile of the cluster NAT gateway." - }, - "staticEgressGatewayProfile": { - "$ref": "#/definitions/ManagedClusterStaticEgressGatewayProfile", - "description": "The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway." - }, - "podCidrs": { - "type": "array", - "items": { - "type": "string" + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." }, - "description": "The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." - }, - "serviceCidrs": { - "type": "array", - "items": { - "type": "string" + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." }, - "description": "The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." - }, - "ipFamilies": { - "type": "array", - "items": { - "type": "string", - "description": "The IP version to use for cluster networking and IP assignment.", - "enum": [ - "IPv4", - "IPv6" - ], - "x-ms-enum": { - "name": "ipFamily", - "modelAsString": true - } + { + "name": "Creating", + "value": "Creating", + "description": "The identity binding is being created." }, - "description": "The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." - }, - "podLinkLocalAccess": { - "$ref": "#/definitions/PodLinkLocalAccess", - "description": "Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods with hostNetwork=false. if not specified, the default is 'IMDS'." - }, - "kubeProxyConfig": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations)." - }, - "mode": { - "type": "string", - "enum": [ - "IPTABLES", - "IPVS", - "NFTABLES" - ], - "x-ms-enum": { - "name": "mode", - "modelAsString": true, - "values": [ - { - "value": "IPTABLES", - "description": "IPTables proxy mode" - }, - { - "value": "IPVS", - "description": "IPVS proxy mode. Must be using Kubernetes version >= 1.22." - }, - { - "value": "NFTABLES", - "description": "NFTables proxy mode. Must be using Kubernetes version >= 1.33." - } - ] - }, - "description": "Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES')" - }, - "ipvsConfig": { - "type": "object", - "properties": { - "scheduler": { - "type": "string", - "enum": [ - "RoundRobin", - "LeastConnection" - ], - "x-ms-enum": { - "name": "ipvsScheduler", - "modelAsString": true, - "values": [ - { - "value": "RoundRobin", - "description": "Round Robin" - }, - { - "value": "LeastConnection", - "description": "Least Connection" - } - ] - }, - "description": "IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html." - }, - "tcpTimeoutSeconds": { - "type": "integer", - "format": "int32", - "description": "The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value." - }, - "tcpFinTimeoutSeconds": { - "type": "integer", - "format": "int32", - "description": "The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value." - }, - "udpTimeoutSeconds": { - "type": "integer", - "format": "int32", - "description": "The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value." - } - }, - "description": "Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'." - } + { + "name": "Updating", + "value": "Updating", + "description": "The identity binding is being updated." }, - "description": "Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'." - }, - "advancedNetworking": { - "$ref": "#/definitions/AdvancedNetworking" - } - }, - "description": "Profile of network configuration." + { + "name": "Deleting", + "value": "Deleting", + "description": "The identity binding is being deleted." + } + ] + } }, - "MaintenanceConfigurationListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/MaintenanceConfiguration" + "IpvsScheduler": { + "type": "string", + "description": "IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html.", + "enum": [ + "RoundRobin", + "LeastConnection" + ], + "x-ms-enum": { + "name": "IpvsScheduler", + "modelAsString": true, + "values": [ + { + "name": "RoundRobin", + "value": "RoundRobin", + "description": "Round Robin" }, - "description": "The list of maintenance configurations." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of maintenance configuration results.", - "readOnly": true - } - }, - "description": "The response from the List maintenance configurations operation." + { + "name": "LeastConnection", + "value": "LeastConnection", + "description": "Least Connection" + } + ] + } }, - "MaintenanceConfiguration": { + "IstioCertificateAuthority": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ], + "description": "Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca", "properties": { - "systemData": { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", - "readOnly": true, - "description": "The system metadata relating to this resource." - }, - "properties": { - "description": "Properties of a default maintenance configuration.", - "$ref": "#/definitions/MaintenanceConfigurationProperties", - "x-ms-client-flatten": true + "plugin": { + "$ref": "#/definitions/IstioPluginCertificateAuthority", + "description": "Plugin certificates information for Service Mesh." } - }, - "description": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." + } }, - "MaintenanceConfigurationProperties": { + "IstioComponents": { "type": "object", + "description": "Istio components configuration.", "properties": { - "timeInWeek": { + "ingressGateways": { "type": "array", + "description": "Istio ingress gateways.", "items": { - "$ref": "#/definitions/TimeInWeek" + "$ref": "#/definitions/IstioIngressGateway" }, - "x-ms-identifiers": [], - "description": "Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." + "x-ms-identifiers": [] }, - "notAllowedTime": { + "egressGateways": { "type": "array", + "description": "Istio egress gateways.", "items": { - "$ref": "#/definitions/TimeSpan" + "$ref": "#/definitions/IstioEgressGateway" }, - "x-ms-identifiers": [], - "description": "Time slots on which upgrade is not allowed." + "x-ms-identifiers": [] }, - "maintenanceWindow": { - "type": "object", - "$ref": "#/definitions/MaintenanceWindow", - "description": "Maintenance window for the maintenance configuration." + "proxyRedirectionMechanism": { + "$ref": "#/definitions/ProxyRedirectionMechanism", + "description": "Mode of traffic redirection." } - }, - "description": "Properties used to configure planned maintenance for a Managed Cluster." + } }, - "MaintenanceWindow": { + "IstioEgressGateway": { "type": "object", + "description": "Istio egress gateway configuration.", "properties": { - "schedule": { - "$ref": "#/definitions/Schedule", - "description": "Recurrence schedule for the maintenance window." - }, - "durationHours": { - "type": "integer", - "format": "int32", - "minimum": 4, - "maximum": 24, - "default": 24, - "description": "Length of maintenance window range from 4 to 24 hours." + "enabled": { + "type": "boolean", + "description": "Whether to enable the egress gateway." }, - "utcOffset": { + "name": { "type": "string", - "pattern": "^(-|\\+)[0-9]{2}:[0-9]{2}$", - "description": "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'." + "description": "Name of the Istio add-on egress gateway.", + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*" }, - "startDate": { + "namespace": { "type": "string", - "format": "date", - "description": "The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away." + "description": "Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress." }, - "startTime": { + "gatewayConfigurationName": { "type": "string", - "pattern": "^\\d{2}:\\d{2}$", - "description": "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'." - }, - "notAllowedDates": { - "type": "array", - "items": { - "$ref": "#/definitions/DateSpan" - }, - "x-ms-identifiers": [], - "description": "Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time." + "description": "Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in." } }, - "description": "Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster.", "required": [ - "schedule", - "durationHours", - "startTime" + "enabled", + "name" ] }, - "Schedule": { + "IstioIngressGateway": { "type": "object", + "description": "Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`.", "properties": { - "daily": { - "$ref": "#/definitions/DailySchedule" - }, - "weekly": { - "$ref": "#/definitions/WeeklySchedule" - }, - "absoluteMonthly": { - "$ref": "#/definitions/AbsoluteMonthlySchedule" + "mode": { + "$ref": "#/definitions/IstioIngressGatewayMode", + "description": "Mode of an ingress gateway." }, - "relativeMonthly": { - "$ref": "#/definitions/RelativeMonthlySchedule" + "enabled": { + "type": "boolean", + "description": "Whether to enable the ingress gateway." } }, - "description": "One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule." + "required": [ + "mode", + "enabled" + ] }, - "DailySchedule": { - "type": "object", - "properties": { - "intervalDays": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 7, - "description": "Specifies the number of days between each set of occurrences." - } - }, - "description": "For schedules like: 'recur every day' or 'recur every 3 days'.", - "required": [ - "intervalDays" - ] + "IstioIngressGatewayMode": { + "type": "string", + "description": "Mode of an ingress gateway.", + "enum": [ + "External", + "Internal" + ], + "x-ms-enum": { + "name": "IstioIngressGatewayMode", + "modelAsString": true, + "values": [ + { + "name": "External", + "value": "External", + "description": "The ingress gateway is assigned a public IP address and is publicly accessible." + }, + { + "name": "Internal", + "value": "Internal", + "description": "The ingress gateway is assigned an internal IP address and cannot is accessed publicly." + } + ] + } }, - "WeeklySchedule": { + "IstioPluginCertificateAuthority": { "type": "object", + "description": "Plugin certificates information for Service Mesh.", "properties": { - "intervalWeeks": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 4, - "description": "Specifies the number of weeks between each set of occurrences." + "keyVaultId": { + "type": "string", + "format": "arm-id", + "description": "The resource ID of the Key Vault.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.KeyVault/vaults" + } + ] + } }, - "dayOfWeek": { - "$ref": "#/definitions/WeekDay", - "description": "Specifies on which day of the week the maintenance occurs." + "certObjectName": { + "type": "string", + "description": "Intermediate certificate object name in Azure Key Vault." + }, + "keyObjectName": { + "type": "string", + "description": "Intermediate certificate private key object name in Azure Key Vault." + }, + "rootCertObjectName": { + "type": "string", + "description": "Root certificate object name in Azure Key Vault." + }, + "certChainObjectName": { + "type": "string", + "description": "Certificate chain object name in Azure Key Vault." } - }, - "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'.", - "required": [ - "intervalWeeks", - "dayOfWeek" - ] + } }, - "AbsoluteMonthlySchedule": { + "IstioServiceMesh": { "type": "object", + "description": "Istio service mesh configuration.", "properties": { - "intervalMonths": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 6, - "description": "Specifies the number of months between each set of occurrences." + "components": { + "$ref": "#/definitions/IstioComponents", + "description": "Istio components configuration." }, - "dayOfMonth": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 31, - "description": "The date of the month." + "certificateAuthority": { + "$ref": "#/definitions/IstioCertificateAuthority", + "description": "Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca" + }, + "revisions": { + "type": "array", + "description": "The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade", + "maxItems": 2, + "uniqueItems": true, + "items": { + "type": "string" + } } - }, - "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'.", - "required": [ - "intervalMonths", - "dayOfMonth" - ] + } }, - "RelativeMonthlySchedule": { + "JWTAuthenticator": { "type": "object", + "description": "Configuration for JWT authenticator in the managed cluster.", "properties": { - "intervalMonths": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 6, - "description": "Specifies the number of months between each set of occurrences." - }, - "weekIndex": { - "type": "string", - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last" - ], - "x-ms-enum": { - "name": "type", - "modelAsString": true, - "values": [ - { - "value": "First", - "description": "First." - }, - { - "value": "Second", - "description": "Second." - }, - { - "value": "Third", - "description": "Third." - }, - { - "value": "Fourth", - "description": "Fourth." - }, - { - "value": "Last", - "description": "Last." - } - ] - }, - "description": "The week index. Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs." - }, - "dayOfWeek": { - "$ref": "#/definitions/WeekDay", - "description": "Specifies on which day of the week the maintenance occurs." + "properties": { + "$ref": "#/definitions/JWTAuthenticatorProperties", + "description": "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." } }, - "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'.", "required": [ - "intervalMonths", - "weekIndex", - "dayOfWeek" + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } ] }, - "DateSpan": { + "JWTAuthenticatorClaimMappingExpression": { "type": "object", + "description": "The claim mapping expression for JWTAuthenticator.", "properties": { - "start": { - "type": "string", - "format": "date", - "description": "The start date of the date span." - }, - "end": { + "expression": { "type": "string", - "format": "date", - "description": "The end date of the date span." + "description": "The CEL expression used to access token claims." } }, - "description": "A date range. For example, between '2022-12-23' and '2023-01-05'.", "required": [ - "start", - "end" + "expression" ] }, - "TimeInWeek": { + "JWTAuthenticatorClaimMappings": { "type": "object", + "description": "The claim mappings for JWTAuthenticator.", "properties": { - "day": { - "$ref": "#/definitions/WeekDay", - "description": "The day of the week." + "username": { + "$ref": "#/definitions/JWTAuthenticatorClaimMappingExpression", + "description": "The expression to extract username attribute from the token claims." }, - "hourSlots": { + "groups": { + "$ref": "#/definitions/JWTAuthenticatorClaimMappingExpression", + "description": "The expression to extract groups attribute from the token claims. When not provided, no groups are extracted from the token claims." + }, + "uid": { + "$ref": "#/definitions/JWTAuthenticatorClaimMappingExpression", + "description": "The expression to extract uid attribute from the token claims. When not provided, no uid is extracted from the token claims." + }, + "extra": { "type": "array", + "description": "The expression to extract extra attribute from the token claims. When not provided, no extra attributes are extracted from the token claims.", "items": { - "$ref": "#/definitions/HourInDay" + "$ref": "#/definitions/JWTAuthenticatorExtraClaimMappingExpression" }, - "description": "A list of hours in the day used to identify a time range. Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + "x-ms-identifiers": [] } }, - "description": "Time in a week." - }, - "WeekDay": { - "type": "string", - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "x-ms-enum": { - "name": "WeekDay", - "modelAsString": true - }, - "description": "The weekday enum." - }, - "HourInDay": { - "type": "integer", - "format": "int32", - "maximum": 23, - "minimum": 0, - "description": "Hour in a day." + "required": [ + "username" + ] }, - "TimeSpan": { + "JWTAuthenticatorExtraClaimMappingExpression": { "type": "object", + "description": "The extra claim mapping expression for JWTAuthenticator.", "properties": { - "start": { + "key": { "type": "string", - "format": "date-time", - "description": "The start of a time span" + "description": "The key of the extra attribute." }, - "end": { + "valueExpression": { "type": "string", - "format": "date-time", - "description": "The end of a time span" + "description": "The CEL expression used to extract the value of the extra attribute." } }, - "description": "A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + "required": [ + "key", + "valueExpression" + ] }, - "RunCommandRequest": { + "JWTAuthenticatorIssuer": { "type": "object", + "description": "The OIDC issuer details for JWTAuthenticator.", "properties": { - "command": { - "type": "string", - "description": "The command to run." - }, - "context": { + "url": { "type": "string", - "description": "A base64 encoded zip file containing the files required by the command." + "description": "The issuer URL. The URL must begin with the scheme https and cannot contain a query string or fragment. This must match the \"iss\" claim in the presented JWT, and the issuer returned from discovery." }, - "clusterToken": { - "type": "string", - "description": "AuthToken issued for AKS AAD Server App." + "audiences": { + "type": "array", + "description": "The set of acceptable audiences the JWT must be issued to. At least one is required. When multiple is set, AudienceMatchPolicy is used in API Server configuration.", + "minItems": 1, + "items": { + "type": "string" + } } }, - "description": "A run command request", "required": [ - "command" + "url", + "audiences" ] }, - "RunCommandResult": { + "JWTAuthenticatorListResult": { "type": "object", + "description": "The response of a JWTAuthenticator list operation.", "properties": { - "id": { - "type": "string", - "description": "The command id.", - "readOnly": true + "value": { + "type": "array", + "description": "The JWTAuthenticator items on this page", + "items": { + "$ref": "#/definitions/JWTAuthenticator" + } }, - "properties": { - "description": "Properties of command result.", - "$ref": "#/definitions/CommandResultProperties", - "x-ms-client-flatten": true + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "run command result." + "required": [ + "value" + ] }, - "CommandResultProperties": { + "JWTAuthenticatorProperties": { "type": "object", + "description": "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.", "properties": { "provisioningState": { - "type": "string", - "readOnly": true, - "description": "provisioning State" - }, - "exitCode": { - "type": "integer", - "format": "int32", - "readOnly": true, - "description": "The exit code of the command" - }, - "startedAt": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The time when the command started." + "$ref": "#/definitions/JWTAuthenticatorProvisioningState", + "description": "The current provisioning state of the JWT authenticator.", + "readOnly": true }, - "finishedAt": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The time when the command finished." + "issuer": { + "$ref": "#/definitions/JWTAuthenticatorIssuer", + "description": "The JWT OIDC issuer details." }, - "logs": { - "type": "string", - "readOnly": true, - "description": "The command output." + "claimValidationRules": { + "type": "array", + "description": "The rules that are applied to validate token claims to authenticate users. All the expressions must evaluate to true for validation to succeed.", + "items": { + "$ref": "#/definitions/JWTAuthenticatorValidationRule" + }, + "x-ms-identifiers": [] }, - "reason": { - "type": "string", - "readOnly": true, - "description": "An explanation of why provisioningState is set to failed (if so)." - } - }, - "description": "The results of a run command" - }, - "ManagedClusterNATGatewayProfile": { - "type": "object", - "properties": { - "managedOutboundIPProfile": { - "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", - "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." + "claimMappings": { + "$ref": "#/definitions/JWTAuthenticatorClaimMappings", + "description": "The mappings that define how user attributes are extracted from the token claims." }, - "effectiveOutboundIPs": { + "userValidationRules": { "type": "array", - "readOnly": true, + "description": "The rules that are applied to the mapped user before completing authentication. All the expressions must evaluate to true for validation to succeed.", "items": { - "$ref": "#/definitions/ResourceReference" + "$ref": "#/definitions/JWTAuthenticatorValidationRule" }, - "description": "The effective outbound IP resources of the cluster NAT gateway." - }, - "idleTimeoutInMinutes": { - "type": "integer", - "format": "int32", - "maximum": 120, - "minimum": 4, - "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", - "default": 4 + "x-ms-identifiers": [] } }, - "description": "Profile of the managed cluster NAT gateway." + "required": [ + "issuer", + "claimMappings" + ] }, - "ManagedClusterManagedOutboundIPProfile": { + "JWTAuthenticatorProvisioningState": { + "type": "string", + "description": "The provisioning state of the last accepted operation.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "JWTAuthenticatorProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + }, + { + "name": "Creating", + "value": "Creating", + "description": "The JWT authenticator is being created." + }, + { + "name": "Updating", + "value": "Updating", + "description": "The JWT authenticator is being updated." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "The JWT authenticator is being deleted." + } + ] + } + }, + "JWTAuthenticatorValidationRule": { "type": "object", + "description": "The validation rule for JWTAuthenticator.", "properties": { - "count": { - "type": "integer", - "format": "int32", - "maximum": 16, - "minimum": 1, - "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", - "default": 1 + "expression": { + "type": "string", + "description": "The CEL expression used to validate the claim or attribute." + }, + "message": { + "type": "string", + "description": "The validation error message." } }, - "description": "Profile of the managed outbound IP resources of the managed cluster." + "required": [ + "expression" + ] }, - "ManagedClusterLoadBalancerProfile": { + "KubeletConfig": { "type": "object", + "description": "Kubelet configurations of agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", "properties": { - "managedOutboundIPs": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int32", - "maximum": 100, - "minimum": 1, - "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", - "default": 1 - }, - "countIPv6": { - "type": "integer", - "format": "int32", - "maximum": 100, - "minimum": 0, - "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. ", - "default": 0 - } - }, - "description": "Desired managed outbound IPs for the cluster load balancer." + "cpuManagerPolicy": { + "type": "string", + "description": "The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." }, - "outboundIPPrefixes": { - "type": "object", - "properties": { - "publicIPPrefixes": { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - }, - "description": "A list of public IP prefix resources." - } - }, - "description": "Desired outbound IP Prefix resources for the cluster load balancer." + "cpuCfsQuota": { + "type": "boolean", + "description": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true." }, - "outboundIPs": { - "type": "object", - "properties": { - "publicIPs": { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - }, - "description": "A list of public IP resources." - } - }, - "description": "Desired outbound IP resources for the cluster load balancer." + "cpuCfsQuotaPeriod": { + "type": "string", + "description": "The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." }, - "effectiveOutboundIPs": { + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "description": "The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%" + }, + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "description": "The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%" + }, + "topologyManagerPolicy": { + "type": "string", + "description": "The Topology Manager policy to use. For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + }, + "allowedUnsafeSysctls": { "type": "array", - "readOnly": true, + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).", "items": { - "$ref": "#/definitions/ResourceReference" - }, - "description": "The effective outbound IP resources of the cluster load balancer." + "type": "string" + } }, - "allocatedOutboundPorts": { + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { "type": "integer", "format": "int32", - "maximum": 64000, - "minimum": 0, - "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", - "default": 0 + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." }, - "idleTimeoutInMinutes": { + "containerLogMaxFiles": { "type": "integer", "format": "int32", - "maximum": 120, - "minimum": 4, - "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", - "default": 30 + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 }, - "enableMultipleStandardLoadBalancers": { - "type": "boolean", - "description": "Enable multiple standard load balancers per AKS cluster or not." + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." }, - "backendPoolType": { + "seccompDefault": { + "$ref": "#/definitions/SeccompDefault", + "description": "Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' will be used by default." + } + } + }, + "KubeletDiskType": { + "type": "string", + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.", + "enum": [ + "OS", + "Temporary" + ], + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "name": "OS", + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "name": "Temporary", + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + } + }, + "KubernetesPatchVersion": { + "type": "object", + "description": "Kubernetes patch version profile", + "properties": { + "upgrades": { + "type": "array", + "description": "Possible upgrade path for given patch version", + "items": { + "type": "string" + } + } + } + }, + "KubernetesResourceObjectEncryptionProfile": { + "type": "object", + "description": "Encryption at rest of Kubernetes resource objects using service-managed keys. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption.", + "properties": { + "infrastructureEncryption": { "type": "string", + "description": "Whether to enable encryption at rest of Kubernetes resource objects using service-managed keys. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption.", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], "x-ms-enum": { - "name": "BackendPoolType", + "name": "InfrastructureEncryption", "modelAsString": true, "values": [ { - "value": "NodeIPConfiguration", - "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." + "name": "Enabled", + "value": "Enabled", + "description": "Encryption at rest of Kubernetes resource objects using service-managed keys is enabled. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption." }, { - "value": "NodeIP", - "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." + "name": "Disabled", + "value": "Disabled", + "description": "Encryption at rest of Kubernetes resource objects using service-managed keys is disabled. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption." } ] + } + } + } + }, + "KubernetesSupportPlan": { + "type": "string", + "description": "Different support tiers for AKS managed clusters", + "enum": [ + "KubernetesOfficial", + "AKSLongTermSupport" + ], + "x-ms-enum": { + "name": "KubernetesSupportPlan", + "modelAsString": true, + "values": [ + { + "name": "KubernetesOfficial", + "value": "KubernetesOfficial", + "description": "Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release." }, - "enum": [ - "NodeIPConfiguration", - "NodeIP" - ], - "description": "The type of the managed inbound Load Balancer BackendPool.", - "default": "NodeIPConfiguration" - }, - "clusterServiceLoadBalancerHealthProbeMode": { + { + "name": "AKSLongTermSupport", + "value": "AKSLongTermSupport", + "description": "Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support." + } + ] + } + }, + "KubernetesVersion": { + "type": "object", + "description": "Kubernetes version profile for given major.minor release.", + "properties": { + "version": { "type": "string", - "x-ms-enum": { - "name": "ClusterServiceLoadBalancerHealthProbeMode", - "modelAsString": true, - "values": [ - { - "value": "ServiceNodePort", - "description": "Each External Traffic Policy Cluster service will have its own health probe targeting service nodePort." - }, - { - "value": "Shared", - "description": "All External Traffic Policy Cluster services in a Standard Load Balancer will have a dedicated health probe targeting the backend nodes' kube-proxy health check port 10256." - } - ] - }, - "enum": [ - "ServiceNodePort", - "Shared" - ], - "description": "The health probing behavior for External Traffic Policy Cluster services.", - "default": "ServiceNodePort" + "description": "major.minor version of Kubernetes release" + }, + "capabilities": { + "$ref": "#/definitions/KubernetesVersionCapabilities", + "description": "Capabilities on this Kubernetes version." + }, + "isDefault": { + "type": "boolean", + "description": "Whether this version is default." + }, + "isPreview": { + "type": "boolean", + "description": "Whether this version is in preview mode." + }, + "patchVersions": { + "type": "object", + "description": "Patch versions of Kubernetes release", + "additionalProperties": { + "$ref": "#/definitions/KubernetesPatchVersion" + } } - }, - "description": "Profile of the managed cluster load balancer." + } }, - "ManagedClusterStaticEgressGatewayProfile": { + "KubernetesVersionCapabilities": { "type": "object", + "description": "Capabilities on this Kubernetes version.", "properties": { - "enabled": { - "type": "boolean", - "description": "Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not." + "supportPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesSupportPlan" + } } - }, - "description": "The Static Egress Gateway addon configuration for the cluster." + } }, - "ResourceReference": { + "KubernetesVersionListResult": { "type": "object", + "description": "Hold values properties, which is array of KubernetesVersion", "properties": { - "id": { - "type": "string", - "format": "arm-id", - "description": "The fully qualified Azure resource id." + "values": { + "type": "array", + "description": "Array of AKS supported Kubernetes versions.", + "items": { + "$ref": "#/definitions/KubernetesVersion" + }, + "x-ms-identifiers": [] } - }, - "description": "A reference to an Azure resource." + } }, - "ContainerServiceSshConfiguration": { + "LabelSelector": { "type": "object", + "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", "properties": { - "publicKeys": { + "matchLabels": { "type": "array", + "description": "matchLabels is an array of {key=value} pairs. A single {key=value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is `key`, the operator is `In`, and the values array contains only `value`. The requirements are ANDed.", "items": { - "$ref": "#/definitions/ContainerServiceSshPublicKey" + "type": "string" + } + }, + "matchExpressions": { + "type": "array", + "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", + "items": { + "$ref": "#/definitions/LabelSelectorRequirement" }, - "x-ms-identifiers": [], - "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified." + "x-ms-identifiers": [] } - }, - "description": "SSH configuration for Linux-based VMs running on Azure.", - "required": [ - "publicKeys" - ] + } }, - "ContainerServiceSshPublicKey": { + "LabelSelectorRequirement": { "type": "object", + "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", "properties": { - "keyData": { + "key": { "type": "string", - "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + "description": "key is the label key that the selector applies to." + }, + "operator": { + "$ref": "#/definitions/Operator", + "description": "operator represents a key's relationship to a set of values. Valid operators are In and NotIn" + }, + "values": { + "type": "array", + "description": "values is an array of string values, the values array must be non-empty.", + "items": { + "type": "string" + } } - }, - "required": [ - "keyData" + } + }, + "LicenseType": { + "type": "string", + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details.", + "enum": [ + "None", + "Windows_Server" ], - "description": "Contains information about SSH certificate public key data." + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "No additional licensing is applied." + }, + { + "name": "Windows_Server", + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + } }, - "ManagedClusterListResult": { + "LinuxOSConfig": { + "type": "object", + "description": "OS configurations of Linux agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "properties": { + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." + }, + "transparentHugePageEnabled": { + "type": "string", + "description": "Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "transparentHugePageDefrag": { + "type": "string", + "description": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "swapFileSizeMB": { + "type": "integer", + "format": "int32", + "description": "The size in MB of a swap file that will be created on each node." + } + } + }, + "LoadBalancer": { + "type": "object", + "description": "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 `-internal`. The internal lb shares the same configurations as the external one. The internal lbs are not needed to be included in LoadBalancer list.", + "properties": { + "properties": { + "$ref": "#/definitions/LoadBalancerProperties", + "description": "The properties of the load balancer.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "LoadBalancerListResult": { "type": "object", + "description": "The response of a LoadBalancer list operation.", "properties": { "value": { "type": "array", + "description": "The LoadBalancer items on this page", "items": { - "$ref": "#/definitions/ManagedCluster" - }, - "description": "The list of managed clusters." + "$ref": "#/definitions/LoadBalancer" + } }, "nextLink": { "type": "string", - "description": "The URL to get the next set of managed cluster results.", - "readOnly": true + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "The response from the List Managed Clusters operation." + "required": [ + "value" + ] }, - "ManagedCluster": { + "LoadBalancerProperties": { "type": "object", "properties": { - "eTag": { + "primaryAgentPoolName": { "type": "string", - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", - "readOnly": true + "description": "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." }, - "sku": { - "$ref": "#/definitions/ManagedClusterSKU", - "description": "The managed cluster SKU." + "allowServicePlacement": { + "type": "boolean", + "description": "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." }, - "extendedLocation": { - "$ref": "#/definitions/ExtendedLocation", - "description": "The extended location of the Virtual Machine." + "serviceLabelSelector": { + "$ref": "#/definitions/LabelSelector", + "description": "Only services that must match this selector can be placed on this load balancer." }, - "identity": { - "$ref": "#/definitions/ManagedClusterIdentity", - "description": "The identity of the managed cluster, if configured." + "serviceNamespaceSelector": { + "$ref": "#/definitions/LabelSelector", + "description": "Services created in namespaces that match the selector can be placed on this load balancer." }, - "properties": { - "description": "Properties of a managed cluster.", - "$ref": "#/definitions/ManagedClusterProperties", - "x-ms-client-flatten": true + "nodeSelector": { + "$ref": "#/definitions/LabelSelector", + "description": "Nodes that match this selector will be possible members of this load balancer." }, - "kind": { + "provisioningState": { "type": "string", - "description": "This is primarily used to expose different UI experiences in the portal for different kinds" + "description": "The current provisioning state.", + "readOnly": true } }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" - } - ], - "description": "Managed cluster." + "required": [ + "primaryAgentPoolName" + ] }, - "ManagedClusterProperties": { - "type": "object", + "LoadBalancerSku": { + "type": "string", + "description": "The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs.", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "LoadBalancerSku", + "modelAsString": true, + "values": [ + { + "name": "standard", + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "name": "basic", + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + } + }, + "LocalDNSOverride": { + "type": "object", + "description": "Overrides for localDNS profile.", "properties": { - "provisioningState": { - "readOnly": true, + "queryLogging": { "type": "string", - "description": "The current provisioning state." + "description": "Log level for DNS queries in localDNS.", + "default": "Error", + "enum": [ + "Error", + "Log" + ], + "x-ms-enum": { + "name": "LocalDNSQueryLogging", + "modelAsString": true, + "values": [ + { + "name": "Error", + "value": "Error", + "description": "Enables error logging in localDNS. See [errors plugin](https://coredns.io/plugins/errors) for more information." + }, + { + "name": "Log", + "value": "Log", + "description": "Enables query logging in localDNS. See [log plugin](https://coredns.io/plugins/log) for more information." + } + ] + } }, - "powerState": { - "$ref": "#/definitions/PowerState", - "description": "The Power State of the cluster.", - "readOnly": true + "protocol": { + "type": "string", + "description": "Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.", + "default": "PreferUDP", + "enum": [ + "PreferUDP", + "ForceTCP" + ], + "x-ms-enum": { + "name": "LocalDNSProtocol", + "modelAsString": true, + "values": [ + { + "name": "PreferUDP", + "value": "PreferUDP", + "description": "Prefer UDP protocol for connections from localDNS to upstream DNS server." + }, + { + "name": "ForceTCP", + "value": "ForceTCP", + "description": "Enforce TCP protocol for connections from localDNS to upstream DNS server." + } + ] + } }, - "creationData": { - "$ref": "#/definitions/CreationData", - "description": "CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a snapshot." + "forwardDestination": { + "type": "string", + "description": "Destination server for DNS queries to be forwarded from localDNS.", + "default": "ClusterCoreDNS", + "enum": [ + "ClusterCoreDNS", + "VnetDNS" + ], + "x-ms-enum": { + "name": "LocalDNSForwardDestination", + "modelAsString": true, + "values": [ + { + "name": "ClusterCoreDNS", + "value": "ClusterCoreDNS", + "description": "Forward DNS queries from localDNS to cluster CoreDNS." + }, + { + "name": "VnetDNS", + "value": "VnetDNS", + "description": "Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured." + } + ] + } }, - "maxAgentPools": { - "readOnly": true, + "forwardPolicy": { + "type": "string", + "description": "Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information.", + "default": "Sequential", + "enum": [ + "Sequential", + "RoundRobin", + "Random" + ], + "x-ms-enum": { + "name": "LocalDNSForwardPolicy", + "modelAsString": true, + "values": [ + { + "name": "Sequential", + "value": "Sequential", + "description": "Implements sequential upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." + }, + { + "name": "RoundRobin", + "value": "RoundRobin", + "description": "Implements round robin upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." + }, + { + "name": "Random", + "value": "Random", + "description": "Implements random upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." + } + ] + } + }, + "maxConcurrent": { "type": "integer", "format": "int32", - "description": "The max number of agent pools for the managed cluster." + "description": "Maximum number of concurrent queries. See [forward plugin](https://coredns.io/plugins/forward) for more information.", + "default": 1000 }, - "kubernetesVersion": { - "type": "string", - "description": "The version of Kubernetes the Managed Cluster is requested to run. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." + "cacheDurationInSeconds": { + "type": "integer", + "format": "int32", + "description": "Cache max TTL in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information.", + "default": 3600 }, - "currentKubernetesVersion": { - "readOnly": true, - "type": "string", - "description": "The version of Kubernetes the Managed Cluster is running." + "serveStaleDurationInSeconds": { + "type": "integer", + "format": "int32", + "description": "Serve stale duration in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information.", + "default": 3600 }, - "dnsPrefix": { + "serveStale": { "type": "string", - "description": "The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created." - }, - "fqdnSubdomain": { + "description": "Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information.", + "default": "Immediate", + "enum": [ + "Verify", + "Immediate", + "Disable" + ], + "x-ms-enum": { + "name": "LocalDNSServeStale", + "modelAsString": true, + "values": [ + { + "name": "Verify", + "value": "Verify", + "description": "Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https://coredns.io/plugins/cache) for more information." + }, + { + "name": "Immediate", + "value": "Immediate", + "description": "Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https://coredns.io/plugins/cache) for more information." + }, + { + "name": "Disable", + "value": "Disable", + "description": "Disable serving stale data." + } + ] + } + } + } + }, + "LocalDNSProfile": { + "type": "object", + "description": "Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.", + "properties": { + "mode": { "type": "string", - "description": "The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created." + "description": "Mode of enablement for localDNS.", + "default": "Preferred", + "enum": [ + "Preferred", + "Required", + "Disabled" + ], + "x-ms-enum": { + "name": "LocalDNSMode", + "modelAsString": true, + "values": [ + { + "name": "Preferred", + "value": "Preferred", + "description": "If the current orchestrator version supports this feature, prefer enabling localDNS." + }, + { + "name": "Required", + "value": "Required", + "description": "Enable localDNS." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disable localDNS." + } + ] + } }, - "fqdn": { - "readOnly": true, - "type": "string", - "description": "The FQDN of the master pool." + "state": { + "$ref": "#/definitions/LocalDNSState", + "description": "System-generated state of localDNS.", + "readOnly": true }, - "privateFQDN": { - "readOnly": true, - "type": "string", - "description": "The FQDN of private cluster." + "vnetDNSOverrides": { + "type": "object", + "description": "VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).", + "additionalProperties": { + "$ref": "#/definitions/LocalDNSOverride" + } }, - "azurePortalFQDN": { - "readOnly": true, - "type": "string", - "description": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + "kubeDNSOverrides": { + "type": "object", + "description": "KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).", + "additionalProperties": { + "$ref": "#/definitions/LocalDNSOverride" + } + } + } + }, + "LocalDNSState": { + "type": "string", + "description": "System-generated state of localDNS.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "LocalDNSState", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "localDNS is enabled." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "localDNS is disabled." + } + ] + } + }, + "Machine": { + "type": "object", + "description": "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.", + "properties": { + "properties": { + "$ref": "#/definitions/MachineProperties", + "description": "The properties of the machine" }, - "agentPoolProfiles": { + "zones": { "type": "array", + "description": "The Availability zone in which machine is located.", "items": { - "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + "type": "string" }, - "x-ms-identifiers": [], - "description": "The agent pool properties." - }, - "linuxProfile": { - "$ref": "#/definitions/ContainerServiceLinuxProfile", - "description": "The profile for Linux VMs in the Managed Cluster." + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "MachineHardwareProfile": { + "type": "object", + "description": "The hardware and GPU settings of the machine.", + "properties": { + "vmSize": { + "type": "string", + "description": "The size of the VM. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" }, - "windowsProfile": { - "$ref": "#/definitions/ManagedClusterWindowsProfile", - "description": "The profile for Windows VMs in the Managed Cluster." + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." }, - "servicePrincipalProfile": { - "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", - "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + "gpuProfile": { + "$ref": "#/definitions/GPUProfile", + "description": "The GPU settings of the machine." + } + } + }, + "MachineIpAddress": { + "type": "object", + "description": "The machine IP address details.", + "properties": { + "family": { + "$ref": "#/definitions/IPFamily", + "description": "To determine if address belongs IPv4 or IPv6 family", + "readOnly": true }, - "addonProfiles": { + "ip": { + "type": "string", + "description": "IPv4 or IPv6 address of the machine", + "readOnly": true + } + } + }, + "MachineKubernetesProfile": { + "type": "object", + "description": "The Kubernetes configurations used by the machine.", + "properties": { + "nodeLabels": { "type": "object", + "description": "The node labels on the machine.", "additionalProperties": { - "$ref": "#/definitions/ManagedClusterAddonProfile" - }, - "description": "The profile of managed cluster add-on." - }, - "podIdentityProfile": { - "$ref": "#/definitions/ManagedClusterPodIdentityProfile", - "description": "The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + "type": "string" + } }, - "oidcIssuerProfile": { - "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile", - "description": "The OIDC issuer profile of the Managed Cluster." + "orchestratorVersion": { + "type": "string", + "description": "The version of Kubernetes specified by the user. Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically." }, - "nodeResourceGroup": { + "currentOrchestratorVersion": { "type": "string", - "description": "The name of the resource group containing agent pool nodes." + "description": "The version of Kubernetes running on the machine. If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used.", + "readOnly": true }, - "nodeResourceGroupProfile": { - "$ref": "#/definitions/ManagedClusterNodeResourceGroupProfile", - "description": "The node resource group configuration profile." + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType", + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." }, - "enableRBAC": { - "type": "boolean", - "description": "Whether to enable Kubernetes Role-Based Access Control." + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the machine." }, - "supportPlan": { - "$ref": "#/definitions/KubernetesSupportPlan", - "description": "The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'." + "nodeInitializationTaints": { + "type": "array", + "description": "Taints added on the node 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. 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-`", + "items": { + "type": "string" + } }, - "enableNamespaceResources": { - "type": "boolean", - "description": "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." + "nodeTaints": { + "type": "array", + "description": "The taints added to new node during machine create. For example, key=value:NoSchedule.", + "items": { + "type": "string" + } }, - "networkProfile": { - "$ref": "#/definitions/ContainerServiceNetworkProfile", - "description": "The network configuration profile." + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." }, - "aadProfile": { - "$ref": "#/definitions/ManagedClusterAADProfile", - "description": "The Azure Active Directory configuration." + "nodeName": { + "type": "string", + "description": "The node name in the Kubernetes cluster.", + "readOnly": true }, - "autoUpgradeProfile": { - "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", - "description": "The auto upgrade configuration." + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime", + "description": "Determines the type of workload a node can run." }, - "upgradeSettings": { - "$ref": "#/definitions/ClusterUpgradeSettings", - "description": "Settings for upgrading a cluster." + "artifactStreamingProfile": { + "$ref": "#/definitions/AgentPoolArtifactStreamingProfile", + "description": "Configuration for using artifact streaming on AKS." + } + } + }, + "MachineListResult": { + "type": "object", + "description": "The response of a Machine list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Machine items on this page", + "items": { + "$ref": "#/definitions/Machine" + } }, - "autoScalerProfile": { - "type": "object", - "properties": { - "balance-similar-node-groups": { - "type": "string", - "description": "Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'" - }, - "daemonset-eviction-for-empty-nodes": { - "type": "boolean", - "description": "DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted." - }, - "daemonset-eviction-for-occupied-nodes": { - "type": "boolean", - "description": "DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted." - }, - "ignore-daemonsets-utilization": { - "type": "boolean", - "description": "Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions." - }, - "expander": { - "type": "string", - "description": "Type of node group expander to be used in scale up. Set to be deprecated, please use 'expanders' flag in the future. Available values are: 'least-waste', 'most-pods', 'priority', 'random'.", - "$ref": "#/definitions/expander" - }, - "max-empty-bulk-delete": { - "type": "string", - "description": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10." - }, - "max-graceful-termination-sec": { - "type": "string", - "description": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600." - }, - "max-node-provision-time": { - "type": "string", - "description": "The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "max-total-unready-percentage": { - "type": "string", - "description": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0." - }, - "new-pod-scale-up-delay": { - "type": "string", - "description": "Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." - }, - "ok-total-unready-count": { - "type": "string", - "description": "The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3." - }, - "scan-interval": { - "type": "string", - "description": "How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds." - }, - "scale-down-delay-after-add": { - "type": "string", - "description": "How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-delay-after-delete": { - "type": "string", - "description": "How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-delay-after-failure": { - "type": "string", - "description": "How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-unneeded-time": { - "type": "string", - "description": "How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-unready-time": { - "type": "string", - "description": "How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-utilization-threshold": { - "type": "string", - "description": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'." - }, - "skip-nodes-with-local-storage": { - "type": "string", - "description": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true." - }, - "skip-nodes-with-system-pods": { - "type": "string", - "description": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true." - } + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "MachineNetworkProperties": { + "type": "object", + "description": "network properties of the machine", + "properties": { + "ipAddresses": { + "type": "array", + "description": "IPv4, IPv6 addresses of the machine", + "items": { + "$ref": "#/definitions/MachineIpAddress" }, - "description": "Parameters to be applied to the cluster-autoscaler when enabled" + "readOnly": true, + "x-ms-identifiers": [] }, - "apiServerAccessProfile": { - "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", - "description": "The access profile for managed cluster API server." + "vnetSubnetID": { + "type": "string", + "format": "arm-id", + "description": "The ID of the subnet which node and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + } }, - "diskEncryptionSetID": { + "podSubnetID": { "type": "string", "format": "arm-id", + "description": "The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", "x-ms-arm-id-details": { "allowedResources": [ { - "type": "Microsoft.Compute/diskEncryptionSets" + "type": "Microsoft.Network/virtualNetworks/subnets" } ] - }, - "description": "The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" + } }, - "identityProfile": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "description": "The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is \"kubeletidentity\", with value of \"resourceId\": \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\"." + "enableNodePublicIP": { + "type": "boolean", + "description": "Whether the machine is allocated its own public IP. Some scenarios may require the machine to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. The default is false." }, - "privateLinkResources": { + "nodePublicIPPrefixID": { + "type": "string", + "format": "arm-id", + "description": "The public IP prefix ID which VM node should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/publicIPPrefixes" + } + ] + } + }, + "nodePublicIPTags": { "type": "array", + "description": "IPTags of instance-level public IPs.", "items": { - "$ref": "#/definitions/PrivateLinkResource" + "$ref": "#/definitions/IPTag" }, - "description": "Private link resources associated with the cluster." - }, - "disableLocalAccounts": { - "type": "boolean", - "description": "If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." - }, - "httpProxyConfig": { - "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", - "description": "Configurations for provisioning the cluster with HTTP proxy servers." - }, - "securityProfile": { - "$ref": "#/definitions/ManagedClusterSecurityProfile", - "description": "Security profile for the managed cluster." - }, - "storageProfile": { - "$ref": "#/definitions/ManagedClusterStorageProfile", - "description": "Storage profile for the managed cluster." - }, - "ingressProfile": { - "$ref": "#/definitions/ManagedClusterIngressProfile", - "description": "Ingress profile for the managed cluster." - }, - "publicNetworkAccess": { + "x-ms-identifiers": [] + } + } + }, + "MachineOSProfile": { + "type": "object", + "description": "The operating system and disk used by the machine.", + "properties": { + "osType": { "type": "string", + "description": "The operating system type. The default is Linux.", + "default": "Linux", "enum": [ - "Enabled", - "Disabled", - "SecuredByPerimeter" + "Linux", + "Windows" ], "x-ms-enum": { - "name": "PublicNetworkAccess", + "name": "OSType", "modelAsString": true, "values": [ { - "value": "Enabled", - "description": "Inbound/Outbound to the managedCluster is allowed." - }, - { - "value": "Disabled", - "description": "Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed." + "name": "Linux", + "value": "Linux", + "description": "Use Linux." }, { - "value": "SecuredByPerimeter", - "description": "Inbound/Outbound traffic is managed by Microsoft.Network/NetworkSecurityPerimeters." + "name": "Windows", + "value": "Windows", + "description": "Use Windows." } ] - }, - "description": "PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS" - }, - "workloadAutoScalerProfile": { - "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfile" - }, - "azureMonitorProfile": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfile" - }, - "serviceMeshProfile": { - "$ref": "#/definitions/ServiceMeshProfile" - }, - "resourceUID": { - "readOnly": true, - "type": "string", - "description": "The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)" - }, - "metricsProfile": { - "$ref": "#/definitions/ManagedClusterMetricsProfile", - "description": "Optional cluster metrics configuration." + } }, - "aiToolchainOperatorProfile": { - "$ref": "#/definitions/ManagedClusterAIToolchainOperatorProfile", - "description": "AI toolchain operator settings that apply to the whole cluster." + "osSKU": { + "$ref": "#/definitions/OSSKU", + "description": "Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated." }, - "nodeProvisioningProfile": { - "$ref": "#/definitions/ManagedClusterNodeProvisioningProfile", - "description": "Node provisioning settings that apply to the whole cluster." + "osDiskSizeGB": { + "type": "integer", + "format": "int32", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.", + "minimum": 0, + "maximum": 2048 }, - "bootstrapProfile": { - "$ref": "#/definitions/ManagedClusterBootstrapProfile", - "description": "Profile of the cluster bootstrap configuration." + "osDiskType": { + "$ref": "#/definitions/OSDiskType", + "description": "The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." }, - "schedulerProfile": { - "$ref": "#/definitions/SchedulerProfile", - "description": "Profile of the pod scheduler configuration." + "enableFIPS": { + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." }, - "hostedSystemProfile": { - "$ref": "#/definitions/ManagedClusterHostedSystemProfile", - "description": "Settings for hosted system addons. For more information, see https://aka.ms/aks/automatic/systemcomponents." + "linuxProfile": { + "$ref": "#/definitions/MachineOSProfileLinuxProfile", + "description": "The Linux machine's specific profile." }, - "status": { - "$ref": "#/definitions/ManagedClusterStatus", - "description": "Contains read-only information about the Managed Cluster." + "windowsProfile": { + "$ref": "#/definitions/AgentPoolWindowsProfile", + "description": "The Windows machine's specific profile." } - }, - "description": "Properties of the managed cluster." + } }, - "PowerState": { + "MachineOSProfileLinuxProfile": { "type": "object", - "description": "Describes the Power State of the cluster", + "description": "The Linux machine's specific profile.", "properties": { - "code": { + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux machine." + }, + "messageOfTheDay": { "type": "string", - "description": "Tells whether the cluster is Running or Stopped", - "enum": [ - "Running", - "Stopped" - ], - "x-ms-enum": { - "name": "code", - "modelAsString": true, - "values": [ - { - "value": "Running", - "description": "The cluster is running." - }, - { - "value": "Stopped", - "description": "The cluster is stopped." - } - ] - } + "description": "Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." } } }, - "expander": { - "type": "string", - "enum": [ - "least-waste", - "most-pods", - "priority", - "random" - ], - "x-ms-enum": { - "name": "expander", - "modelAsString": true, - "values": [ - { - "value": "least-waste", - "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." - }, - { - "value": "most-pods", - "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." - }, - { - "value": "priority", - "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." - }, - { - "value": "random", - "description": "Used when you don't have a particular need for the node groups to scale differently." - } - ] - }, - "description": "The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." - }, - "ManagedClusterAPIServerAccessProfile": { + "MachineProperties": { "type": "object", + "description": "The properties of the machine", "properties": { - "authorizedIPRanges": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." - }, - "enablePrivateCluster": { - "type": "boolean", - "description": "Whether to create the cluster as a private cluster or not. For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." - }, - "privateDNSZone": { - "type": "string", - "description": "The private DNS zone mode for the cluster. The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." - }, - "enablePrivateClusterPublicFQDN": { - "type": "boolean", - "description": "Whether to create additional public FQDN for private cluster or not." - }, - "disableRunCommand": { - "type": "boolean", - "description": "Whether to disable run command for the cluster or not." - }, - "enableVnetIntegration": { - "type": "boolean", - "description": "Whether to enable apiserver vnet integration for the cluster or not." + "network": { + "$ref": "#/definitions/MachineNetworkProperties", + "description": "network properties of the machine", + "readOnly": true }, - "subnetId": { + "resourceId": { "type": "string", "format": "arm-id", + "description": "Azure resource id of the machine. It can be used to GET underlying VM Instance", + "readOnly": true, "x-ms-arm-id-details": { "allowedResources": [ { - "type": "Microsoft.Network/virtualNetworks/subnets" + "type": "Microsoft.Compute/virtualMachines" + }, + { + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines" } ] - }, - "description": "The subnet to be used when apiserver vnet integration is enabled. It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration." - } - }, - "description": "Access profile for managed cluster API server." - }, - "ManagedClusterIdentity": { - "type": "object", - "properties": { - "principalId": { - "readOnly": true, - "type": "string", - "description": "The principal id of the system assigned identity which is used by master components." + } }, - "tenantId": { - "readOnly": true, - "type": "string", - "description": "The tenant id of the system assigned identity which is used by master components." + "hardware": { + "$ref": "#/definitions/MachineHardwareProfile", + "description": "The hardware and GPU settings of the machine." + }, + "operatingSystem": { + "$ref": "#/definitions/MachineOSProfile", + "description": "The operating system and disk used by the machine." + }, + "kubernetes": { + "$ref": "#/definitions/MachineKubernetesProfile", + "description": "The Kubernetes configurations used by the machine." + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode", + "description": "Machine only allows 'System' and 'User' mode." + }, + "security": { + "$ref": "#/definitions/MachineSecurityProfile", + "description": "The security settings of the machine." }, - "type": { + "priority": { "type": "string", - "description": "The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "description": "The priority for the machine. If not specified, the default is 'Regular'.", + "default": "Regular", "enum": [ - "SystemAssigned", - "UserAssigned", - "None" + "Spot", + "Regular" ], "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": false, + "name": "ScaleSetPriority", + "modelAsString": true, "values": [ { - "value": "SystemAssigned", - "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." - }, - { - "value": "UserAssigned", - "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + "name": "Spot", + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." }, { - "value": "None", - "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + "name": "Regular", + "value": "Regular", + "description": "Regular VMs will be used." } ] } }, - "delegatedResources": { - "$ref": "../../../../../../common-types/resource-management/v4/managedidentitywithdelegation.json#/definitions/DelegatedResources", - "description": "The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only." + "nodeImageVersion": { + "type": "string", + "description": "The version of node image.", + "readOnly": true }, - "userAssignedIdentities": { + "provisioningState": { + "type": "string", + "description": "The current deployment or provisioning state.", + "readOnly": true + }, + "tags": { "type": "object", + "description": "The tags to be persisted on the machine.", "additionalProperties": { - "type": "object", - "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", - "properties": { - "principalId": { - "readOnly": true, - "type": "string", - "description": "The principal id of user assigned identity." - }, - "clientId": { - "readOnly": true, - "type": "string", - "description": "The client id of user assigned identity." - } - } - }, - "description": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + "type": "string" + } + }, + "eTag": { + "type": "string", + "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/MachineStatus", + "description": "Contains read-only information about the machine.", + "readOnly": true } - }, - "description": "Identity for the managed cluster." + } }, - "UserAssignedIdentity": { + "MachineSecurityProfile": { "type": "object", + "description": "The security settings of the machine.", "properties": { - "resourceId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.ManagedIdentity/userAssignedIdentities" - } - ] - }, - "description": "The resource ID of the user assigned identity." + "enableVTPM": { + "type": "boolean", + "description": "vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." }, - "clientId": { + "enableSecureBoot": { + "type": "boolean", + "description": "Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." + }, + "sshAccess": { + "$ref": "#/definitions/AgentPoolSSHAccess", + "description": "SSH access method of an agent pool." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "description": "Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + } + } + }, + "MachineStatus": { + "type": "object", + "description": "Contains read-only information about the machine.", + "properties": { + "provisioningError": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", + "description": "The error details information of the machine. Preserves the detailed info of failure. If there was no error, this field is omitted.", + "readOnly": true + }, + "creationTimestamp": { "type": "string", - "description": "The client ID of the user assigned identity." + "format": "date-time", + "description": "Specifies the time at which the machine was created.", + "readOnly": true }, - "objectId": { + "driftAction": { + "$ref": "#/definitions/DriftAction", + "description": "The drift action of the machine. Indicates whether a machine has deviated from its expected state due to changes in managed cluster properties, requiring corrective action.", + "readOnly": true + }, + "driftReason": { "type": "string", - "description": "The object ID of the user assigned identity." + "description": "Reason for machine drift. Provides detailed information on why the machine has drifted. This field is omitted if the machine is up to date.", + "readOnly": true + }, + "vmState": { + "$ref": "#/definitions/VmState", + "description": "Virtual machine state. Indicates the current state of the underlying virtual machine.", + "readOnly": true } - }, - "description": "Details about a user assigned identity." + } }, - "ManagedClusterAccessProfile": { + "MaintenanceConfiguration": { "type": "object", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" - } - ], + "description": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance.", "properties": { "properties": { - "description": "AccessProfile of a managed cluster.", - "$ref": "#/definitions/AccessProfile", + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "description": "Properties of a default maintenance configuration.", "x-ms-client-flatten": true } }, - "description": "Managed cluster Access Profile.", - "x-ms-azure-resource": false + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "AccessProfile": { + "MaintenanceConfigurationListResult": { "type": "object", + "description": "The response of a MaintenanceConfiguration list operation.", "properties": { - "kubeConfig": { + "value": { + "type": "array", + "description": "The MaintenanceConfiguration items on this page", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "nextLink": { "type": "string", - "format": "byte", - "description": "Base64-encoded Kubernetes configuration file." + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Profile for enabling a user to access a managed cluster." + "required": [ + "value" + ] }, - "ManagedClusterPoolUpgradeProfile": { + "MaintenanceConfigurationProperties": { "type": "object", + "description": "Properties used to configure planned maintenance for a Managed Cluster.", "properties": { - "kubernetesVersion": { - "type": "string", - "description": "The Kubernetes version (major.minor.patch)." - }, - "name": { - "type": "string", - "description": "The Agent Pool name." - }, - "osType": { - "$ref": "#/definitions/OSType" - }, - "upgrades": { + "timeInWeek": { "type": "array", + "description": "Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries.", "items": { - "type": "object", - "properties": { - "kubernetesVersion": { - "type": "string", - "description": "The Kubernetes version (major.minor.patch)." - }, - "isPreview": { - "type": "boolean", - "description": "Whether the Kubernetes version is currently in preview." - }, - "isOutOfSupport": { - "type": "boolean", - "description": "Whether the Kubernetes version is out of support." - } - } + "$ref": "#/definitions/TimeInWeek" }, - "x-ms-identifiers": [], - "description": "List of orchestrator types and versions available for upgrade." + "x-ms-identifiers": [] }, - "componentsByReleases": { + "notAllowedTime": { "type": "array", + "description": "Time slots on which upgrade is not allowed.", "items": { - "$ref": "#/definitions/ComponentsByRelease" + "$ref": "#/definitions/TimeSpan" }, - "x-ms-identifiers": [], - "description": "List of components grouped by kubernetes major.minor version." + "x-ms-identifiers": [] + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window for the maintenance configuration." } - }, - "required": [ - "kubernetesVersion", - "osType" - ], - "description": "The list of available upgrade versions." + } }, - "ManagedClusterUpgradeProfileProperties": { + "MaintenanceWindow": { "type": "object", + "description": "Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster.", "properties": { - "controlPlaneProfile": { - "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", - "description": "The list of available upgrade versions for the control plane." + "schedule": { + "$ref": "#/definitions/Schedule", + "description": "Recurrence schedule for the maintenance window." }, - "agentPoolProfiles": { + "durationHours": { + "type": "integer", + "format": "int32", + "description": "Length of maintenance window range from 4 to 24 hours.", + "default": 24, + "minimum": 4, + "maximum": 24 + }, + "utcOffset": { + "type": "string", + "description": "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'.", + "pattern": "^(-|\\+)[0-9]{2}:[0-9]{2}$" + }, + "startDate": { + "type": "string", + "format": "date", + "description": "The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away." + }, + "startTime": { + "type": "string", + "description": "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'.", + "pattern": "^\\d{2}:\\d{2}$" + }, + "notAllowedDates": { "type": "array", + "description": "Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time.", "items": { - "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + "$ref": "#/definitions/DateSpan" }, - "x-ms-identifiers": [], - "description": "The list of available upgrade versions for agent pools." + "x-ms-identifiers": [] } }, "required": [ - "controlPlaneProfile", - "agentPoolProfiles" - ], - "description": "Control plane and agent pool upgrade profiles." + "schedule", + "durationHours", + "startTime" + ] }, - "ManagedClusterAutoUpgradeProfile": { + "ManagedCluster": { "type": "object", + "description": "Managed cluster.", "properties": { - "upgradeChannel": { - "type": "string", - "enum": [ - "rapid", - "stable", - "patch", - "node-image", - "none" - ], - "x-ms-enum": { - "name": "upgradeChannel", - "modelAsString": true, - "values": [ - { - "value": "rapid", - "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." - }, - { - "value": "stable", - "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." - }, - { - "value": "patch", - "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." - }, - { - "value": "node-image", - "description": "Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching" - }, - { - "value": "none", - "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." - } - ] - }, - "description": "The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + "properties": { + "$ref": "#/definitions/ManagedClusterProperties", + "description": "Properties of a managed cluster.", + "x-ms-client-flatten": true }, - "nodeOSUpgradeChannel": { - "type": "string", - "enum": [ - "Unmanaged", - "None", - "SecurityPatch", - "NodeImage" - ], - "x-ms-enum": { - "name": "nodeOSUpgradeChannel", - "modelAsString": true, - "values": [ - { - "value": "None", - "description": "No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates" - }, - { - "value": "Unmanaged", - "description": "OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially, and will be patched at some later time by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice" - }, - { - "value": "SecurityPatch", - "description": "AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption." - }, - { - "value": "NodeImage", - "description": "AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images." - } - ] - }, - "description": "Manner in which the OS on your nodes is updated. The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA." - } - }, - "description": "Auto upgrade profile for a managed cluster." - }, - "UpgradeOverrideSettings": { - "type": "object", - "properties": { - "forceUpgrade": { - "type": "boolean", - "description": "Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution." + "eTag": { + "type": "string", + "description": "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.", + "readOnly": true }, - "until": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "kind": { "type": "string", - "format": "date-time", - "description": "Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect." + "description": "This is primarily used to expose different UI experiences in the portal for different kinds" } }, - "description": "Settings for overrides when upgrading a cluster." - }, - "ClusterUpgradeSettings": { - "type": "object", - "properties": { - "overrideSettings": { - "$ref": "#/definitions/UpgradeOverrideSettings", - "description": "Settings for overrides." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } - }, - "description": "Settings for upgrading a cluster." + ] }, "ManagedClusterAADProfile": { "type": "object", + "description": "AADProfile specifies attributes for Azure Active Directory integration. For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad).", "properties": { "managed": { "type": "boolean", @@ -8423,10 +9736,10 @@ }, "adminGroupObjectIDs": { "type": "array", + "description": "The list of AAD group object IDs that will have admin role of the cluster.", "items": { "type": "string" - }, - "description": "The list of AAD group object IDs that will have admin role of the cluster." + } }, "clientAppID": { "type": "string", @@ -8444,11 +9757,82 @@ "type": "string", "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." } + } + }, + "ManagedClusterAIToolchainOperatorProfile": { + "type": "object", + "description": "When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not." + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "type": "object", + "description": "Access profile for managed cluster API server.", + "properties": { + "authorizedIPRanges": { + "type": "array", + "description": "The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges).", + "items": { + "type": "string" + } + }, + "enablePrivateCluster": { + "type": "boolean", + "description": "Whether to create the cluster as a private cluster or not. For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." + }, + "privateDNSZone": { + "type": "string", + "description": "The private DNS zone mode for the cluster. The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." + }, + "enablePrivateClusterPublicFQDN": { + "type": "boolean", + "description": "Whether to create additional public FQDN for private cluster or not." + }, + "disableRunCommand": { + "type": "boolean", + "description": "Whether to disable run command for the cluster or not." + }, + "enableVnetIntegration": { + "type": "boolean", + "description": "Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details." + }, + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + } + } + } + }, + "ManagedClusterAccessProfile": { + "type": "object", + "description": "Managed cluster Access Profile.", + "properties": { + "properties": { + "$ref": "#/definitions/AccessProfile", + "description": "AccessProfile of a managed cluster.", + "x-ms-client-flatten": true + } }, - "description": "AADProfile specifies attributes for Azure Active Directory integration. For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" + } + ] }, "ManagedClusterAddonProfile": { "type": "object", + "description": "A Kubernetes add-on profile for a managed cluster.", "properties": { "enabled": { "type": "boolean", @@ -8456,1851 +9840,1792 @@ }, "config": { "type": "object", + "description": "Key-value pairs for configuring an add-on.", "additionalProperties": { "type": "string" - }, - "description": "Key-value pairs for configuring an add-on." + } }, "identity": { - "readOnly": true, + "$ref": "#/definitions/ManagedClusterAddonProfileIdentity", "description": "Information of user assigned identity used by this add-on.", - "allOf": [ - { - "$ref": "#/definitions/UserAssignedIdentity" - } - ] + "readOnly": true } }, "required": [ "enabled" - ], - "description": "A Kubernetes add-on profile for a managed cluster." + ] }, - "ManagedClusterPodIdentity": { + "ManagedClusterAddonProfileIdentity": { + "type": "object", + "description": "Information of user assigned identity used by this add-on.", + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + }, + "ManagedClusterAgentPoolProfile": { "type": "object", + "description": "Profile for the container service agent pool.", "properties": { "name": { "type": "string", - "description": "The name of the pod identity." + "description": "Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + }, + "required": [ + "name" + ], + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + } + ] + }, + "ManagedClusterAgentPoolProfileProperties": { + "type": "object", + "description": "Properties for the container service agent pool profile.", + "properties": { + "eTag": { + "type": "string", + "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", + "readOnly": true }, - "namespace": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { "type": "string", - "description": "The namespace of the pod identity." + "description": "The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" }, - "bindingSelector": { + "osDiskSizeGB": { + "type": "integer", + "format": "int32", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.", + "minimum": 0, + "maximum": 2048 + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType", + "description": "The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." + }, + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType", + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime", + "description": "Determines the type of workload a node can run." + }, + "messageOfTheDay": { "type": "string", - "description": "The binding selector to use for the AzureIdentityBinding resource." + "description": "Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." }, - "identity": { - "$ref": "#/definitions/UserAssignedIdentity", - "description": "The user assigned identity details." + "vnetSubnetID": { + "type": "string", + "format": "arm-id", + "description": "The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + } }, - "provisioningState": { + "podSubnetID": { "type": "string", - "readOnly": true, - "description": "The current provisioning state of the pod identity.", + "format": "arm-id", + "description": "The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + } + }, + "podIPAllocationMode": { + "$ref": "#/definitions/PodIPAllocationMode", + "description": "Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'." + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { + "type": "string", + "description": "The operating system type. The default is Linux.", + "default": "Linux", "enum": [ - "Assigned", - "Canceled", - "Deleting", - "Failed", - "Succeeded", - "Updating" + "Linux", + "Windows" ], "x-ms-enum": { - "name": "ManagedClusterPodIdentityProvisioningState", - "modelAsString": true + "name": "OSType", + "modelAsString": true, + "values": [ + { + "name": "Linux", + "value": "Linux", + "description": "Use Linux." + }, + { + "name": "Windows", + "value": "Windows", + "description": "Use Windows." + } + ] } }, - "provisioningInfo": { - "type": "object", - "readOnly": true, - "properties": { - "error": { - "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", - "description": "Pod identity assignment error (if any)." - } - } - } - }, - "required": [ - "name", - "namespace", - "identity" - ], - "description": "Details about the pod identity assigned to the Managed Cluster." - }, - "ManagedClusterPodIdentityProvisioningError": { - "type": "object", - "properties": { - "error": { - "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", - "description": "Details about the error." - } - }, - "description": "An error response from the pod identity provisioning." - }, - "ManagedClusterPodIdentityProvisioningErrorBody": { - "type": "object", - "properties": { - "code": { + "osSKU": { + "$ref": "#/definitions/OSSKU", + "description": "Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "description": "The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." + }, + "type": { + "$ref": "#/definitions/AgentPoolType", + "description": "The type of Agent Pool." + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode", + "description": "The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "orchestratorVersion": { "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + "description": "The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." + }, + "currentOrchestratorVersion": { + "type": "string", + "description": "The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used.", + "readOnly": true }, - "message": { + "nodeImageVersion": { "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." + "description": "The version of node image", + "readOnly": true }, - "target": { + "upgradeStrategy": { + "$ref": "#/definitions/UpgradeStrategy", + "description": "Defines the upgrade strategy for the agent pool. The default is Rolling." + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "upgradeSettingsBlueGreen": { + "$ref": "#/definitions/AgentPoolBlueGreenUpgradeSettings", + "description": "Settings for Blue-Green upgrade on the agentpool. Applies when upgrade strategy is set to BlueGreen." + }, + "provisioningState": { "type": "string", - "description": "The target of the particular error. For example, the name of the property in error." + "description": "The current deployment or provisioning state.", + "readOnly": true }, - "details": { + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded" + }, + "availabilityZones": { "type": "array", + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.", "items": { - "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody" - }, - "x-ms-identifiers": [], - "description": "A list of additional details about the error." - } - }, - "description": "An error response from the pod identity provisioning." - }, - "ManagedClusterPodIdentityException": { - "type": "object", - "properties": { - "name": { + "type": "string" + } + }, + "enableNodePublicIP": { + "type": "boolean", + "description": "Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + }, + "nodePublicIPPrefixID": { "type": "string", - "description": "The name of the pod identity exception." + "format": "arm-id", + "description": "The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/publicIPPrefixes" + } + ] + } }, - "namespace": { + "scaleSetPriority": { "type": "string", - "description": "The namespace of the pod identity exception." + "description": "The Virtual Machine Scale Set priority.", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "name": "Spot", + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "name": "Regular", + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + } }, - "podLabels": { + "scaleSetEvictionPolicy": { + "type": "string", + "description": "The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "name": "Delete", + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "name": "Deallocate", + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] + } + }, + "spotMaxPrice": { + "type": "number", + "format": "float", + "description": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)", + "default": -1 + }, + "tags": { "type": "object", - "description": "The pod labels to match.", + "description": "The tags to be persisted on the agent pool virtual machine scale set.", "additionalProperties": { "type": "string" } - } - }, - "required": [ - "name", - "namespace", - "podLabels" - ], - "description": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." - }, - "ManagedClusterPodIdentityProfile": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether the pod identity addon is enabled." }, - "allowNetworkPluginKubenet": { - "type": "boolean", - "description": "Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + "nodeLabels": { + "type": "object", + "description": "The node labels to be persisted across all nodes in agent pool.", + "additionalProperties": { + "type": "string" + } }, - "userAssignedIdentities": { - "description": "The pod identities to use in the cluster.", + "nodeTaints": { "type": "array", + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.", "items": { - "$ref": "#/definitions/ManagedClusterPodIdentity" - }, - "x-ms-identifiers": [] + "type": "string" + } }, - "userAssignedIdentityExceptions": { - "description": "The pod identity exceptions to allow.", + "nodeInitializationTaints": { "type": "array", + "description": "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-`", "items": { - "$ref": "#/definitions/ManagedClusterPodIdentityException" - }, - "x-ms-identifiers": [] - } - }, - "description": "The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." - }, - "ManagedClusterOIDCIssuerProfile": { - "type": "object", - "properties": { - "issuerURL": { - "readOnly": true, + "type": "string" + } + }, + "proximityPlacementGroupID": { "type": "string", - "description": "The OIDC issuer url of the Managed Cluster." + "format": "arm-id", + "description": "The ID for Proximity Placement Group.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/proximityPlacementGroups" + } + ] + } }, - "enabled": { + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { "type": "boolean", - "description": "Whether the OIDC issuer is enabled." - } - }, - "description": "The OIDC issuer profile of the Managed Cluster." - }, - "ManagedClusterUpgradeProfile": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the upgrade profile." + "description": "Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the upgrade profile." + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" }, - "type": { - "readOnly": true, - "type": "string", - "description": "The type of the upgrade profile." + "enableFIPS": { + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." }, - "properties": { - "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", - "description": "The properties of the upgrade profile.", - "x-ms-client-flatten": true - } - }, - "required": [ - "properties" - ], - "description": "The list of available upgrades for compute pools." - }, - "AgentPoolUpgradeProfile": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the agent pool upgrade profile." + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the agent pool upgrade profile." + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." }, - "type": { - "readOnly": true, + "capacityReservationGroupID": { "type": "string", - "description": "The type of the agent pool upgrade profile." + "format": "arm-id", + "description": "The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview)", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/CapacityReservationGroups" + } + ] + } }, - "properties": { - "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", - "description": "The properties of the agent pool upgrade profile.", - "x-ms-client-flatten": true - } - }, - "required": [ - "properties" - ], - "description": "The list of available upgrades for an agent pool." - }, - "AgentPoolUpgradeProfileProperties": { - "type": "object", - "properties": { - "kubernetesVersion": { + "hostGroupID": { "type": "string", - "description": "The Kubernetes version (major.minor.patch)." + "format": "arm-id", + "description": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts).", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/hostGroups" + } + ] + } }, - "osType": { - "$ref": "#/definitions/OSType" + "networkProfile": { + "$ref": "#/definitions/AgentPoolNetworkProfile", + "description": "Network-related settings of an agent pool." }, - "upgrades": { - "type": "array", - "items": { - "type": "object", - "properties": { - "kubernetesVersion": { - "type": "string", - "description": "The Kubernetes version (major.minor.patch)." - }, - "isPreview": { - "type": "boolean", - "description": "Whether the Kubernetes version is currently in preview." - }, - "isOutOfSupport": { - "type": "boolean", - "description": "Whether the Kubernetes version is out of support." - } - } - }, - "x-ms-identifiers": [], - "description": "List of orchestrator types and versions available for upgrade." + "windowsProfile": { + "$ref": "#/definitions/AgentPoolWindowsProfile", + "description": "The Windows agent pool's specific profile." + }, + "securityProfile": { + "$ref": "#/definitions/AgentPoolSecurityProfile", + "description": "The security settings of an agent pool." + }, + "gpuProfile": { + "$ref": "#/definitions/GPUProfile", + "description": "GPU settings for the Agent Pool." + }, + "gatewayProfile": { + "$ref": "#/definitions/AgentPoolGatewayProfile", + "description": "Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway." }, - "componentsByReleases": { - "type": "array", - "items": { - "$ref": "#/definitions/ComponentsByRelease" - }, - "x-ms-identifiers": [], - "description": "List of components grouped by kubernetes major.minor version." + "artifactStreamingProfile": { + "$ref": "#/definitions/AgentPoolArtifactStreamingProfile", + "description": "Configuration for using artifact streaming on AKS." }, - "recentlyUsedVersions": { - "description": "List of historical good versions for rollback operations.", - "readOnly": true, + "virtualMachinesProfile": { + "$ref": "#/definitions/VirtualMachinesProfile", + "description": "Specifications on VirtualMachines agent pool." + }, + "virtualMachineNodesStatus": { "type": "array", + "description": "The status of nodes in a VirtualMachines agent pool.", "items": { - "$ref": "#/definitions/AgentPoolRecentlyUsedVersion" + "$ref": "#/definitions/VirtualMachineNodes" }, "x-ms-identifiers": [] }, - "latestNodeImageVersion": { - "type": "string", - "description": "The latest AKS supported node image version." + "status": { + "$ref": "#/definitions/AgentPoolStatus", + "description": "Contains read-only information about the Agent Pool." + }, + "localDNSProfile": { + "$ref": "#/definitions/LocalDNSProfile", + "description": "Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns." + }, + "nodeCustomizationProfile": { + "$ref": "#/definitions/NodeCustomizationProfile", + "description": "Settings to determine the node customization used to provision nodes in a pool." } - }, - "required": [ - "kubernetesVersion", - "osType" - ], - "description": "The list of available upgrade versions." + } }, - "AgentPoolAvailableVersions": { + "ManagedClusterAutoUpgradeProfile": { "type": "object", + "description": "Auto upgrade profile for a managed cluster.", "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the agent pool version list." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the agent pool version list." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Type of the agent pool version list." + "upgradeChannel": { + "$ref": "#/definitions/UpgradeChannel", + "description": "The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." }, - "properties": { - "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", - "description": "Properties of agent pool available versions.", - "x-ms-client-flatten": true + "nodeOSUpgradeChannel": { + "$ref": "#/definitions/NodeOSUpgradeChannel", + "description": "Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage." } - }, - "required": [ - "properties" - ], - "description": "The list of available versions for an agent pool." + } }, - "AgentPoolAvailableVersionsProperties": { + "ManagedClusterAzureMonitorProfile": { "type": "object", + "description": "Azure Monitor addon profiles for monitoring the managed cluster.", "properties": { - "agentPoolVersions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "default": { - "type": "boolean", - "description": "Whether this version is the default agent pool version." - }, - "kubernetesVersion": { - "type": "string", - "description": "The Kubernetes version (major.minor.patch)." - }, - "isPreview": { - "type": "boolean", - "description": "Whether Kubernetes version is currently in preview." - } - } - }, - "x-ms-identifiers": [], - "description": "List of versions available for agent pool." + "metrics": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileMetrics", + "description": "Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview." + }, + "containerInsights": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileContainerInsights", + "description": "Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview." + }, + "appMonitoring": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoring", + "description": "Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview." } - }, - "description": "The list of available agent pool versions." + } }, - "AgentPoolRecentlyUsedVersion": { + "ManagedClusterAzureMonitorProfileAppMonitoring": { "type": "object", + "description": "Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.", "properties": { - "orchestratorVersion": { - "type": "string", - "description": "The Kubernetes version (major.minor.patch) available for rollback." + "autoInstrumentation": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation", + "description": "Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See aka.ms/AzureMonitorApplicationMonitoring for an overview." }, - "nodeImageVersion": { - "type": "string", - "description": "The node image version available for rollback." + "openTelemetryMetrics": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics", + "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview." }, - "timestamp": { - "type": "string", - "format": "date-time", - "description": "The timestamp when this version was last used." + "openTelemetryLogs": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs", + "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview." } - }, - "description": "A historical version that can be used for rollback operations." - }, - "PodIPAllocationMode": { - "type": "string", - "enum": [ - "DynamicIndividual", - "StaticBlock" - ], - "x-ms-enum": { - "name": "PodIPAllocationMode", - "modelAsString": true, - "values": [ - { - "value": "DynamicIndividual", - "description": "Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode" - }, - { - "value": "StaticBlock", - "description": "Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger" - } - ] - }, - "description": "Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'." - }, - "OSType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ], - "x-ms-enum": { - "name": "OSType", - "modelAsString": true, - "values": [ - { - "value": "Linux", - "description": "Use Linux." - }, - { - "value": "Windows", - "description": "Use Windows." - } - ] - }, - "description": "The operating system type. The default is Linux." - }, - "OSSKU": { - "type": "string", - "enum": [ - "AzureLinux", - "AzureLinux3", - "CBLMariner", - "Flatcar", - "Mariner", - "Ubuntu", - "Ubuntu2204", - "Ubuntu2404", - "Windows2019", - "Windows2022", - "Windows2025", - "WindowsAnnual" - ], - "x-ms-enum": { - "name": "OSSKU", - "modelAsString": true, - "values": [ - { - "value": "Ubuntu", - "description": "Use Ubuntu as the OS for node images." - }, - { - "value": "Mariner", - "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." - }, - { - "value": "AzureLinux", - "description": "Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information." - }, - { - "value": "AzureLinux3", - "description": "Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. For limitations, visit https://aka.ms/aks/node-images. For OS migration guidance, see https://aka.ms/aks/upgrade-os-version." - }, - { - "value": "Flatcar", - "description": "Use Flatcar Container Linux as the OS for node images. Flatcar is a container-optimized, security-focused Linux OS, with an immutable filesystem and part of the Cloud Native Computing Foundation (CNCF). For more information about Flatcar Container Linux for AKS, see aka.ms/aks/flatcar-container-linux-for-aks" - }, - { - "value": "CBLMariner", - "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." - }, - { - "value": "Windows2019", - "description": "Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa." - }, - { - "value": "Windows2022", - "description": "Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa." - }, - { - "value": "Windows2025", - "description": "Use Windows2025 as the OS for node images. Unsupported for system node pools. Windows2025 supports Windows2022 and Windows 2025 containers; it cannot run Windows2019 containers and vice versa." - }, - { - "value": "WindowsAnnual", - "description": "Use Windows Annual Channel version as the OS for node images. Unsupported for system node pools. Details about supported container images and kubernetes versions under different AKS Annual Channel versions could be seen in https://aka.ms/aks/windows-annual-channel-details." - }, - { - "value": "Ubuntu2204", - "description": "Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https://aka.ms/aks/supported-ubuntu-versions" - }, - { - "value": "Ubuntu2404", - "description": "Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https://aka.ms/aks/supported-ubuntu-versions" - } - ] - }, - "description": "Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated." - }, - "ScaleSetPriority": { - "type": "string", - "default": "Regular", - "enum": [ - "Spot", - "Regular" - ], - "x-ms-enum": { - "name": "ScaleSetPriority", - "modelAsString": true, - "values": [ - { - "value": "Spot", - "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." - }, - { - "value": "Regular", - "description": "Regular VMs will be used." - } - ] - }, - "description": "The Virtual Machine Scale Set priority." - }, - "ScaleSetEvictionPolicy": { - "type": "string", - "default": "Delete", - "enum": [ - "Delete", - "Deallocate" - ], - "x-ms-enum": { - "name": "ScaleSetEvictionPolicy", - "modelAsString": true, - "values": [ - { - "value": "Delete", - "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." - }, - { - "value": "Deallocate", - "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." - } - ] - }, - "description": "The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" - }, - "SpotMaxPrice": { - "type": "number", - "default": -1, - "description": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" - }, - "ScaleDownMode": { - "type": "string", - "enum": [ - "Delete", - "Deallocate" - ], - "x-ms-enum": { - "name": "ScaleDownMode", - "modelAsString": true, - "values": [ - { - "value": "Delete", - "description": "Create new instances during scale up and remove instances during scale down." - }, - { - "value": "Deallocate", - "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." - } - ] - }, - "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + } }, - "ProximityPlacementGroupID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Compute/proximityPlacementGroups" - } - ] - }, - "description": "The ID for Proximity Placement Group." + "ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation": { + "type": "object", + "description": "Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See aka.ms/AzureMonitorApplicationMonitoring for an overview.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if Application Monitoring Auto Instrumentation is enabled or not." + } + } }, - "CredentialResults": { + "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs": { "type": "object", + "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.", "properties": { - "kubeconfigs": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/CredentialResult" - }, - "x-ms-identifiers": [], - "description": "Base64-encoded Kubernetes configuration file." + "enabled": { + "type": "boolean", + "description": "Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not." + }, + "port": { + "type": "integer", + "format": "int64", + "description": "The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331." } - }, - "description": "The list credential result response." + } }, - "CredentialResult": { + "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics": { "type": "object", + "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.", "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "The name of the credential." + "enabled": { + "type": "boolean", + "description": "Indicates if Application Monitoring Open Telemetry Metrics is enabled or not." }, - "value": { - "type": "string", - "format": "byte", - "readOnly": true, - "description": "Base64-encoded Kubernetes configuration file." + "port": { + "type": "integer", + "format": "int64", + "description": "The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333." } - }, - "description": "The credential result response." + } }, - "LocalDNSProfile": { + "ManagedClusterAzureMonitorProfileContainerInsights": { "type": "object", - "description": "Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.", + "description": "Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview.", "properties": { - "mode": { - "type": "string", - "enum": [ - "Preferred", - "Required", - "Disabled" - ], - "x-ms-enum": { - "name": "LocalDNSMode", - "modelAsString": true, - "values": [ - { - "value": "Preferred", - "description": "If the current orchestrator version supports this feature, prefer enabling localDNS." - }, - { - "value": "Required", - "description": "Enable localDNS." - }, - { - "value": "Disabled", - "description": "Disable localDNS." - } - ] - }, - "description": "Mode of enablement for localDNS.", - "default": "Preferred" + "enabled": { + "type": "boolean", + "description": "Indicates if Azure Monitor Container Insights Logs Addon is enabled or not." }, - "state": { - "readOnly": true, + "logAnalyticsWorkspaceResourceId": { "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "LocalDNSState", - "modelAsString": true, - "values": [ - { - "value": "Enabled", - "description": "localDNS is enabled." - }, + "format": "arm-id", + "description": "Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure Monitor Container Insights Logs.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "Disabled", - "description": "localDNS is disabled." + "type": "Microsoft.OperationalInsights/workspaces" } ] - }, - "description": "System-generated state of localDNS." + } }, - "vnetDNSOverrides": { - "type": "object", - "description": "VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).", - "$ref": "#/definitions/LocalDNSOverrides" + "syslogPort": { + "type": "integer", + "format": "int64", + "description": "The syslog host port. If not specified, the default port is 28330." }, - "kubeDNSOverrides": { - "type": "object", - "description": "KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).", - "$ref": "#/definitions/LocalDNSOverrides" + "disableCustomMetrics": { + "type": "boolean", + "description": "Indicates whether custom metrics collection has to be disabled or not. If not specified the default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is false" + }, + "disablePrometheusMetricsScraping": { + "type": "boolean", + "description": "Indicates whether prometheus metrics scraping is disabled or not. If not specified the default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field is false" } } }, - "LocalDNSOverrides": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/LocalDNSOverride" - }, - "description": "LocalDNSOverrides is a map of zone names for Vnet and Kube DNS overrides." - }, - "LocalDNSOverride": { + "ManagedClusterAzureMonitorProfileKubeStateMetrics": { "type": "object", - "description": "Overrides for localDNS profile.", + "description": "Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.", "properties": { - "queryLogging": { - "type": "string", - "enum": [ - "Error", - "Log" - ], - "x-ms-enum": { - "name": "LocalDNSQueryLogging", - "modelAsString": true, - "values": [ - { - "value": "Error", - "description": "Enables error logging in localDNS. See [errors plugin](https://coredns.io/plugins/errors) for more information." - }, - { - "value": "Log", - "description": "Enables query logging in localDNS. See [log plugin](https://coredns.io/plugins/log) for more information." - } - ] - }, - "description": "Log level for DNS queries in localDNS.", - "default": "Error" - }, - "protocol": { - "type": "string", - "enum": [ - "PreferUDP", - "ForceTCP" - ], - "x-ms-enum": { - "name": "LocalDNSProtocol", - "modelAsString": true, - "values": [ - { - "value": "PreferUDP", - "description": "Prefer UDP protocol for connections from localDNS to upstream DNS server." - }, - { - "value": "ForceTCP", - "description": "Enforce TCP protocol for connections from localDNS to upstream DNS server." - } - ] - }, - "description": "Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.", - "default": "PreferUDP" - }, - "forwardDestination": { + "metricLabelsAllowlist": { "type": "string", - "enum": [ - "ClusterCoreDNS", - "VnetDNS" - ], - "x-ms-enum": { - "name": "LocalDNSForwardDestination", - "modelAsString": true, - "values": [ - { - "value": "ClusterCoreDNS", - "description": "Forward DNS queries from localDNS to cluster CoreDNS." - }, - { - "value": "VnetDNS", - "description": "Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured." - } - ] - }, - "description": "Destination server for DNS queries to be forwarded from localDNS.", - "default": "ClusterCoreDNS" + "description": "Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels." }, - "forwardPolicy": { + "metricAnnotationsAllowList": { "type": "string", - "enum": [ - "Sequential", - "RoundRobin", - "Random" - ], - "x-ms-enum": { - "name": "LocalDNSForwardPolicy", - "modelAsString": true, - "values": [ - { - "value": "Sequential", - "description": "Implements sequential upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." - }, - { - "value": "RoundRobin", - "description": "Implements round robin upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." - }, - { - "value": "Random", - "description": "Implements random upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." - } - ] - }, - "description": "Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information.", - "default": "Sequential" - }, - "maxConcurrent": { - "type": "integer", - "format": "int32", - "description": "Maximum number of concurrent queries. See [forward plugin](https://coredns.io/plugins/forward) for more information.", - "default": 1000 - }, - "cacheDurationInSeconds": { - "type": "integer", - "format": "int32", - "description": "Cache max TTL in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information.", - "default": 3600 - }, - "serveStaleDurationInSeconds": { - "type": "integer", - "format": "int32", - "description": "Serve stale duration in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information.", - "default": 3600 + "description": "Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels." + } + } + }, + "ManagedClusterAzureMonitorProfileMetrics": { + "type": "object", + "description": "Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling." }, - "serveStale": { + "kubeStateMetrics": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileKubeStateMetrics", + "description": "Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details." + } + }, + "required": [ + "enabled" + ] + }, + "ManagedClusterBootstrapProfile": { + "type": "object", + "description": "The bootstrap profile.", + "properties": { + "artifactSource": { "type": "string", + "description": "The artifact source. The source where the artifacts are downloaded from.", + "default": "Direct", "enum": [ - "Verify", - "Immediate", - "Disable" + "Cache", + "Direct" ], "x-ms-enum": { - "name": "LocalDNSServeStale", + "name": "ArtifactSource", "modelAsString": true, "values": [ { - "value": "Verify", - "description": "Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https://coredns.io/plugins/cache) for more information." + "name": "Cache", + "value": "Cache", + "description": "pull images from Azure Container Registry with cache" }, { - "value": "Immediate", - "description": "Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https://coredns.io/plugins/cache) for more information." - }, + "name": "Direct", + "value": "Direct", + "description": "pull images from Microsoft Artifact Registry" + } + ] + } + }, + "containerRegistryId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "Disable", - "description": "Disable serving stale data." + "type": "Microsoft.ContainerRegistry/registries" } ] + } + } + } + }, + "ManagedClusterCostAnalysis": { + "type": "object", + "description": "The cost analysis configuration for the cluster", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "type": "object", + "description": "Cluster HTTP proxy configuration.", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "description": "The endpoints that should not go through proxy.", + "items": { + "type": "string" + } + }, + "effectiveNoProxy": { + "type": "array", + "description": "A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS.", + "items": { + "type": "string" }, - "description": "Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information.", - "default": "Immediate" + "readOnly": true + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + }, + "enabled": { + "type": "boolean", + "description": "Whether to enable HTTP proxy. When disabled, the specified proxy configuration will be not be set on pods and nodes." } } }, - "ManagedClusterStatus": { + "ManagedClusterHostedSystemProfile": { "type": "object", + "description": "Settings for hosted system addons.", "properties": { - "provisioningError": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "readOnly": true, - "description": "The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted." + "enabled": { + "type": "boolean", + "description": "Whether to enable hosted system addons for the cluster." } - }, - "description": "Contains read-only information about the Managed Cluster." + } }, - "AgentPoolStatus": { + "ManagedClusterIdentity": { "type": "object", + "description": "Identity for the managed cluster.", "properties": { - "provisioningError": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "readOnly": true, - "description": "The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted." + "principalId": { + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the system assigned identity which is used by master components.", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/ResourceIdentityType", + "description": "The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity)." + }, + "delegatedResources": { + "type": "object", + "description": "The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.", + "additionalProperties": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentitywithdelegation.json#/definitions/DelegatedResource" + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "additionalProperties": { + "$ref": "#/definitions/ManagedServiceIdentityUserAssignedIdentitiesValue" + } + } + } + }, + "ManagedClusterIngressDefaultDomainProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Default Domain." + }, + "domainName": { + "type": "string", + "description": "The unique fully qualified domain name assigned to the cluster. This will not change even if disabled then reenabled.", + "readOnly": true + } + } + }, + "ManagedClusterIngressProfile": { + "type": "object", + "description": "Ingress profile for the container service cluster.", + "properties": { + "webAppRouting": { + "$ref": "#/definitions/ManagedClusterIngressProfileWebAppRouting", + "description": "App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default." + }, + "gatewayAPI": { + "$ref": "#/definitions/ManagedClusterIngressProfileGatewayConfiguration", + "description": "Settings for the managed Gateway API installation" + }, + "applicationLoadBalancer": { + "$ref": "#/definitions/ManagedClusterIngressProfileApplicationLoadBalancer", + "description": "Settings for the managed Application Load Balancer installation" + } + } + }, + "ManagedClusterIngressProfileApplicationLoadBalancer": { + "type": "object", + "description": "Application Load Balancer settings for the ingress profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Application Load Balancer." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "Managed identity of the Application Load Balancer add-on. This is the identity that should be granted permissions to manage the associated Application Gateway for Containers resource.", + "readOnly": true + } + } + }, + "ManagedClusterIngressProfileGatewayConfiguration": { + "type": "object", + "properties": { + "installation": { + "$ref": "#/definitions/ManagedGatewayType", + "description": "Configuration for the managed Gateway API installation. If not specified, the default is 'Disabled'. See https://aka.ms/k8s-gateway-api for more details." + } + } + }, + "ManagedClusterIngressProfileNginx": { + "type": "object", + "properties": { + "defaultIngressControllerType": { + "$ref": "#/definitions/NginxIngressControllerType", + "description": "Ingress type for the default NginxIngressController custom resource" + } + } + }, + "ManagedClusterIngressProfileWebAppRouting": { + "type": "object", + "description": "Application Routing add-on settings for the ingress profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable the Application Routing add-on." + }, + "dnsZoneResourceIds": { + "type": "array", + "description": "Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.", + "maxItems": 5, + "items": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/dnszones" + }, + { + "type": "Microsoft.Network/privateDnsZones" + } + ] + } + } + }, + "nginx": { + "$ref": "#/definitions/ManagedClusterIngressProfileNginx", + "description": "Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions.", + "readOnly": true + }, + "defaultDomain": { + "$ref": "#/definitions/ManagedClusterIngressDefaultDomainProfile", + "description": "Configuration for the Default Domain. This is a unique, autogenerated domain that comes with a signed TLS Certificate allowing for secure HTTPS. See [the Default Domain documentation](https://aka.ms/aks/defaultdomain) for more instructions." + } + } + }, + "ManagedClusterListResult": { + "type": "object", + "description": "The response of a ManagedCluster list operation.", + "properties": { + "value": { + "type": "array", + "description": "The ManagedCluster items on this page", + "items": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Contains read-only information about the Agent Pool." + "required": [ + "value" + ] }, - "ManagedClusterSKU": { + "ManagedClusterLoadBalancerProfile": { "type": "object", + "description": "Profile of the managed cluster load balancer.", "properties": { - "name": { + "managedOutboundIPs": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfileManagedOutboundIPs", + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfileOutboundIPPrefixes", + "description": "Desired outbound IP Prefix resources for the cluster load balancer." + }, + "outboundIPs": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfileOutboundIPs", + "description": "Desired outbound IP resources for the cluster load balancer." + }, + "effectiveOutboundIPs": { + "type": "array", + "description": "The effective outbound IP resources of the cluster load balancer.", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "readOnly": true + }, + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0, + "minimum": 0, + "maximum": 64000 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30, + "minimum": 4, + "maximum": 120 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + }, + "backendPoolType": { "type": "string", - "description": "The name of a managed cluster SKU.", + "description": "The type of the managed inbound Load Balancer BackendPool.", + "default": "NodeIPConfiguration", "enum": [ - "Base", - "Automatic" + "NodeIPConfiguration", + "NodeIP" ], "x-ms-enum": { - "name": "ManagedClusterSKUName", + "name": "BackendPoolType", "modelAsString": true, "values": [ { - "value": "Base", - "description": "Base option for the AKS control plane." + "name": "NodeIPConfiguration", + "value": "NodeIPConfiguration", + "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." }, { - "value": "Automatic", - "description": "Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic." + "name": "NodeIP", + "value": "NodeIP", + "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." } ] } }, - "tier": { + "clusterServiceLoadBalancerHealthProbeMode": { "type": "string", - "description": "The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details.", + "description": "The health probing behavior for External Traffic Policy Cluster services.", + "default": "ServiceNodePort", "enum": [ - "Premium", - "Standard", - "Free" + "ServiceNodePort", + "Shared" ], "x-ms-enum": { - "name": "ManagedClusterSKUTier", + "name": "ClusterServiceLoadBalancerHealthProbeMode", "modelAsString": true, "values": [ { - "value": "Premium", - "description": "Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions." - }, - { - "value": "Standard", - "description": "Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + "name": "ServiceNodePort", + "value": "ServiceNodePort", + "description": "Each External Traffic Policy Cluster service will have its own health probe targeting service nodePort." }, { - "value": "Free", - "description": "The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases." + "name": "Shared", + "value": "Shared", + "description": "All External Traffic Policy Cluster services in a Standard Load Balancer will have a dedicated health probe targeting the backend nodes' kube-proxy health check port 10256." } ] } } - }, - "description": "The SKU of a Managed Cluster." - }, - "PrivateEndpointConnectionListResult": { - "type": "object", - "description": "A list of private endpoint connections", - "properties": { - "value": { - "description": "The collection value.", - "type": "array", - "items": { - "$ref": "#/definitions/PrivateEndpointConnection" - } - } } }, - "PrivateEndpointConnection": { - "description": "A private endpoint connection", - "type": "object", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the private endpoint connection." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the private endpoint connection.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" - } - }, - "type": { - "readOnly": true, - "type": "string", - "description": "The resource type." - }, - "properties": { - "$ref": "#/definitions/PrivateEndpointConnectionProperties", - "description": "The properties of a private endpoint connection.", - "x-ms-client-flatten": true - } - }, - "x-ms-azure-resource": true - }, - "PrivateEndpointConnectionProperties": { + "ManagedClusterLoadBalancerProfileManagedOutboundIPs": { "type": "object", - "description": "Properties of a private endpoint connection.", + "description": "Desired managed outbound IPs for the cluster load balancer.", "properties": { - "provisioningState": { - "type": "string", - "readOnly": true, - "description": "The current provisioning state.", - "enum": [ - "Canceled", - "Creating", - "Deleting", - "Failed", - "Succeeded" - ], - "x-ms-enum": { - "name": "PrivateEndpointConnectionProvisioningState", - "modelAsString": true - } - }, - "privateEndpoint": { - "$ref": "#/definitions/PrivateEndpoint", - "description": "The resource of private endpoint." + "count": { + "type": "integer", + "format": "int32", + "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.", + "default": 1, + "minimum": 1, + "maximum": 100 }, - "privateLinkServiceConnectionState": { - "$ref": "#/definitions/PrivateLinkServiceConnectionState", - "description": "A collection of information about the state of the connection between service consumer and provider." - } - }, - "required": [ - "privateLinkServiceConnectionState" - ] - }, - "PrivateEndpoint": { - "type": "object", - "description": "Private endpoint which a connection belongs to.", - "properties": { - "id": { - "description": "The resource ID of the private endpoint", - "type": "string" + "countIPv6": { + "type": "integer", + "format": "int32", + "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.", + "default": 0, + "minimum": 0, + "maximum": 100 } } }, - "PrivateLinkServiceConnectionState": { - "description": "The state of a private link service connection.", + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes": { "type": "object", + "description": "Desired outbound IP Prefix resources for the cluster load balancer.", "properties": { - "status": { - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ], - "type": "string", - "description": "The private link service connection status.", - "x-ms-enum": { - "name": "ConnectionStatus", - "modelAsString": true + "publicIPPrefixes": { + "type": "array", + "description": "A list of public IP prefix resources.", + "items": { + "$ref": "#/definitions/ResourceReference" } - }, - "description": { - "type": "string", - "description": "The private link service connection description." } } }, - "PrivateLinkResourcesListResult": { + "ManagedClusterLoadBalancerProfileOutboundIPs": { "type": "object", - "description": "A list of private link resources", + "description": "Desired outbound IP resources for the cluster load balancer.", "properties": { - "value": { - "description": "The collection value.", + "publicIPs": { "type": "array", + "description": "A list of public IP resources.", "items": { - "$ref": "#/definitions/PrivateLinkResource" + "$ref": "#/definitions/ResourceReference" } } } }, - "PrivateLinkResource": { - "description": "A private link resource", + "ManagedClusterManagedOutboundIPProfile": { "type": "object", + "description": "Profile of the managed outbound IP resources of the managed cluster.", "properties": { - "id": { - "type": "string", - "description": "The ID of the private link resource." - }, - "name": { - "type": "string", - "description": "The name of the private link resource.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" - } - }, - "type": { - "type": "string", - "description": "The resource type." - }, - "groupId": { - "type": "string", - "description": "The group ID of the resource." - }, - "requiredMembers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The RequiredMembers of the resource" - }, - "privateLinkServiceID": { - "readOnly": true, - "type": "string", - "format": "arm-id", - "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + "count": { + "type": "integer", + "format": "int32", + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.", + "default": 1, + "minimum": 1, + "maximum": 16 } } }, - "OSDiskType": { - "type": "string", - "enum": [ - "Managed", - "Ephemeral" - ], - "x-ms-enum": { - "name": "OSDiskType", - "modelAsString": true, - "values": [ - { - "value": "Managed", - "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." - }, - { - "value": "Ephemeral", - "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." - } - ] - }, - "description": "The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." - }, - "KubeletDiskType": { - "type": "string", - "enum": [ - "OS", - "Temporary" - ], - "x-ms-enum": { - "name": "KubeletDiskType", - "modelAsString": true, - "values": [ - { - "value": "OS", - "description": "Kubelet will use the OS disk for its data." - }, - { - "value": "Temporary", - "description": "Kubelet will use the temporary disk for its data." - } - ] - }, - "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." - }, - "WorkloadRuntime": { - "type": "string", - "enum": [ - "OCIContainer", - "WasmWasi", - "KataMshvVmIsolation", - "KataVmIsolation" - ], - "x-ms-enum": { - "name": "WorkloadRuntime", - "modelAsString": true, - "values": [ - { - "value": "OCIContainer", - "description": "Nodes will use Kubelet to run standard OCI container workloads." - }, - { - "value": "WasmWasi", - "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." - }, - { - "value": "KataMshvVmIsolation", - "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series. This naming convention will be deprecated in future releases in favor of KataVmIsolation." - }, - { - "value": "KataVmIsolation", - "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series." - } - ] - }, - "description": "Determines the type of workload a node can run." - }, - "KubeletConfig": { - "description": "Kubelet configurations of agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "ManagedClusterMetricsProfile": { "type": "object", + "description": "The metrics profile for the ManagedCluster.", "properties": { - "cpuManagerPolicy": { - "type": "string", - "description": "The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." - }, - "cpuCfsQuota": { - "type": "boolean", - "description": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true." - }, - "cpuCfsQuotaPeriod": { - "type": "string", - "description": "The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." - }, - "imageGcHighThreshold": { - "type": "integer", - "format": "int32", - "description": "The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%" - }, - "imageGcLowThreshold": { - "type": "integer", - "format": "int32", - "description": "The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%" - }, - "topologyManagerPolicy": { - "type": "string", - "description": "The Topology Manager policy to use. For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + "costAnalysis": { + "$ref": "#/definitions/ManagedClusterCostAnalysis", + "description": "The configuration for detailed per-Kubernetes resource cost analysis." + } + } + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "description": "Profile of the managed cluster NAT gateway.", + "properties": { + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." }, - "allowedUnsafeSysctls": { + "effectiveOutboundIPs": { "type": "array", + "description": "The effective outbound IP resources of the cluster NAT gateway.", "items": { - "type": "string" + "$ref": "#/definitions/ResourceReference" }, - "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." - }, - "failSwapOn": { - "type": "boolean", - "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." - }, - "containerLogMaxSizeMB": { - "type": "integer", - "format": "int32", - "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." - }, - "containerLogMaxFiles": { - "type": "integer", - "format": "int32", - "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", - "minimum": 2 + "readOnly": true }, - "podMaxPids": { + "idleTimeoutInMinutes": { "type": "integer", "format": "int32", - "description": "The maximum number of processes per pod." + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4, + "minimum": 4, + "maximum": 120 + } + } + }, + "ManagedClusterNodeProvisioningProfile": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/definitions/NodeProvisioningMode", + "description": "The node provisioning mode. If not specified, the default is Manual." }, - "seccompDefault": { + "defaultNodePools": { "type": "string", - "description": "Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' will be used by default.", + "description": "The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.", + "default": "Auto", "enum": [ - "Unconfined", - "RuntimeDefault" + "None", + "Auto" ], "x-ms-enum": { - "name": "SeccompDefault", + "name": "NodeProvisioningDefaultNodePools", "modelAsString": true, "values": [ { - "description": "No seccomp profile is applied, allowing all system calls.", - "value": "Unconfined" + "name": "None", + "value": "None", + "description": "No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances." }, { - "description": "The default seccomp profile for container runtime is applied, which restricts certain system calls for enhanced security.", - "value": "RuntimeDefault" + "name": "Auto", + "value": "Auto", + "description": "A standard set of Karpenter NodePools are provisioned" } ] } } } }, - "LinuxOSConfig": { - "description": "OS configurations of Linux agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "ManagedClusterNodeResourceGroupProfile": { "type": "object", + "description": "Node resource group lockdown profile for a managed cluster.", "properties": { - "sysctls": { - "$ref": "#/definitions/SysctlConfig", - "description": "Sysctl settings for Linux agent nodes." - }, - "transparentHugePageEnabled": { - "type": "string", - "description": "Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." - }, - "transparentHugePageDefrag": { - "type": "string", - "description": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." - }, - "swapFileSizeMB": { - "type": "integer", - "format": "int32", - "description": "The size in MB of a swap file that will be created on each node." + "restrictionLevel": { + "$ref": "#/definitions/RestrictionLevel", + "description": "The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'" } } }, - "AgentPoolWindowsProfile": { + "ManagedClusterOIDCIssuerProfile": { "type": "object", - "description": "The Windows agent pool's specific profile.", + "description": "The OIDC issuer profile of the Managed Cluster.", "properties": { - "disableOutboundNat": { + "issuerURL": { + "type": "string", + "description": "The OIDC issuer url of the Managed Cluster.", + "readOnly": true + }, + "enabled": { "type": "boolean", - "description": "Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled." + "description": "Whether the OIDC issuer is enabled." } } }, - "AgentPoolSecurityProfile": { + "ManagedClusterPodIdentity": { "type": "object", + "description": "Details about the pod identity assigned to the Managed Cluster.", "properties": { - "sshAccess": { - "$ref": "#/definitions/AgentPoolSSHAccess", - "description": "SSH access method of an agent pool." + "name": { + "type": "string", + "description": "The name of the pod identity." }, - "enableVTPM": { - "type": "boolean", - "description": "vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." }, - "enableSecureBoot": { - "type": "boolean", - "description": "Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningState", + "description": "The current provisioning state of the pod identity.", + "readOnly": true + }, + "provisioningInfo": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningInfo", + "readOnly": true } }, - "description": "The security settings of an agent pool." + "required": [ + "name", + "namespace", + "identity" + ] }, - "MachineSecurityProfile": { + "ManagedClusterPodIdentityException": { "type": "object", + "description": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details.", "properties": { - "sshAccess": { - "$ref": "#/definitions/AgentPoolSSHAccess", - "description": "SSH access method of an agent pool." + "name": { + "type": "string", + "description": "The name of the pod identity exception." }, - "enableVTPM": { - "type": "boolean", - "description": "vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." }, - "enableSecureBoot": { + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "name", + "namespace", + "podLabels" + ] + }, + "ManagedClusterPodIdentityProfile": { + "type": "object", + "description": "The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration.", + "properties": { + "enabled": { "type": "boolean", - "description": "Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." + "description": "Whether the pod identity addon is enabled." }, - "enableEncryptionAtHost": { + "allowNetworkPluginKubenet": { "type": "boolean", - "description": "Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + "description": "Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "type": "array", + "description": "The pod identities to use in the cluster.", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentity" + }, + "x-ms-identifiers": [] + }, + "userAssignedIdentityExceptions": { + "type": "array", + "description": "The pod identity exceptions to allow.", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + }, + "x-ms-identifiers": [] } - }, - "description": "The security settings of the machine." + } }, - "GPUProfile": { + "ManagedClusterPodIdentityProvisioningError": { "type": "object", + "description": "An error response from the pod identity provisioning.", "properties": { - "driver": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." + } + } + }, + "ManagedClusterPodIdentityProvisioningErrorBody": { + "type": "object", + "description": "An error response from the pod identity provisioning.", + "properties": { + "code": { "type": "string", - "description": "Whether to install GPU drivers. When it's not specified, default is Install.", - "enum": [ - "Install", - "None" - ], - "x-ms-enum": { - "name": "GPUDriver", - "modelAsString": true, - "values": [ - { - "value": "Install", - "description": "Install driver." - }, - { - "value": "None", - "description": "Skip driver install." - } - ] - } + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." }, - "driverType": { + "message": { "type": "string", - "enum": [ - "GRID", - "CUDA" - ], - "x-ms-enum": { - "name": "DriverType", - "modelAsString": true, - "values": [ - { - "value": "GRID", - "description": "Install the GRID driver for the GPU, suitable for applications requiring virtualization support." - }, - { - "value": "CUDA", - "description": "Install the CUDA driver for the GPU, optimized for computational tasks in scientific computing and data-intensive applications." - } - ] + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "description": "A list of additional details about the error.", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody" }, - "description": "Specify the type of GPU driver to install when creating Windows agent pools. If not provided, AKS selects the driver based on system compatibility. This cannot be changed once the AgentPool has been created. This cannot be set on Linux AgentPools. For Linux AgentPools, the driver is selected based on system compatibility." + "x-ms-identifiers": [] } } }, - "AgentPoolArtifactStreamingProfile": { + "ManagedClusterPodIdentityProvisioningInfo": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false." + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." } } }, - "AgentPoolSSHAccess": { + "ManagedClusterPodIdentityProvisioningState": { "type": "string", + "description": "The current provisioning state of the pod identity.", "enum": [ - "LocalUser", - "Disabled", - "EntraId" + "Assigned", + "Canceled", + "Deleting", + "Failed", + "Succeeded", + "Updating" ], "x-ms-enum": { - "name": "AgentPoolSSHAccess", + "name": "ManagedClusterPodIdentityProvisioningState", "modelAsString": true, "values": [ { - "value": "LocalUser", - "description": "Can SSH onto the node as a local user using private key." + "name": "Assigned", + "value": "Assigned" }, { - "value": "Disabled", - "description": "SSH service will be turned off on the node. More information can be found under https://aka.ms/aks/ssh/disable" + "name": "Canceled", + "value": "Canceled" }, { - "value": "EntraId", - "description": "SSH to node with EntraId integration. More information can be found under https://aka.ms/aks/ssh/aad" + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Updating", + "value": "Updating" } ] + } + }, + "ManagedClusterPoolUpgradeProfile": { + "type": "object", + "description": "The list of available upgrade versions.", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "description": "The Agent Pool name." + }, + "osType": { + "type": "string", + "description": "The operating system type. The default is Linux.", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true, + "values": [ + { + "name": "Linux", + "value": "Linux", + "description": "Use Linux." + }, + { + "name": "Windows", + "value": "Windows", + "description": "Use Windows." + } + ] + } + }, + "upgrades": { + "type": "array", + "description": "List of orchestrator types and versions available for upgrade.", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfileUpgradesItem" + }, + "x-ms-identifiers": [] + }, + "componentsByReleases": { + "type": "array", + "description": "List of components grouped by kubernetes major.minor version.", + "items": { + "$ref": "#/definitions/ComponentsByRelease" + }, + "x-ms-identifiers": [] + } }, - "description": "SSH access method of an agent pool." + "required": [ + "kubernetesVersion", + "osType" + ] }, - "AgentPoolGatewayProfile": { - "description": "Profile of the managed cluster gateway agent pool.", + "ManagedClusterPoolUpgradeProfileUpgradesItem": { "type": "object", "properties": { - "publicIPPrefixSize": { - "type": "integer", - "format": "int32", - "maximum": 31, - "minimum": 28, - "description": "The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.", - "default": 31 + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + }, + "isOutOfSupport": { + "type": "boolean", + "description": "Whether the Kubernetes version is out of support." } } }, - "SysctlConfig": { - "description": "Sysctl settings for Linux agent nodes.", + "ManagedClusterProperties": { "type": "object", + "description": "Properties of the managed cluster.", "properties": { - "netCoreSomaxconn": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.somaxconn." + "provisioningState": { + "type": "string", + "description": "The current provisioning state.", + "readOnly": true }, - "netCoreNetdevMaxBacklog": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.netdev_max_backlog." + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true }, - "netCoreRmemDefault": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.rmem_default." + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a snapshot." }, - "netCoreRmemMax": { + "maxAgentPools": { "type": "integer", "format": "int32", - "description": "Sysctl setting net.core.rmem_max." + "description": "The max number of agent pools for the managed cluster.", + "readOnly": true }, - "netCoreWmemDefault": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.wmem_default." + "kubernetesVersion": { + "type": "string", + "description": "The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." }, - "netCoreWmemMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.wmem_max." + "currentKubernetesVersion": { + "type": "string", + "description": "The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used.", + "readOnly": true }, - "netCoreOptmemMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.optmem_max." + "dnsPrefix": { + "type": "string", + "description": "The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created." }, - "netIpv4TcpMaxSynBacklog": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + "fqdnSubdomain": { + "type": "string", + "description": "The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created." }, - "netIpv4TcpMaxTwBuckets": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + "fqdn": { + "type": "string", + "description": "The FQDN of the master pool.", + "readOnly": true }, - "netIpv4TcpFinTimeout": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + "privateFQDN": { + "type": "string", + "description": "The FQDN of private cluster.", + "readOnly": true }, - "netIpv4TcpKeepaliveTime": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + "azurePortalFQDN": { + "type": "string", + "description": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.", + "readOnly": true }, - "netIpv4TcpKeepaliveProbes": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + "agentPoolProfiles": { + "type": "array", + "description": "The agent pool properties.", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "x-ms-identifiers": [] }, - "netIpv4TcpkeepaliveIntvl": { - "type": "integer", - "format": "int32", - "minimum": 10, - "maximum": 90, - "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." }, - "netIpv4TcpTwReuse": { + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed Cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "type": "object", + "description": "The profile of managed cluster add-on.", + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + } + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "description": "The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "oidcIssuerProfile": { + "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile", + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The name of the resource group containing agent pool nodes." + }, + "nodeResourceGroupProfile": { + "$ref": "#/definitions/ManagedClusterNodeResourceGroupProfile", + "description": "Profile of the node resource group configuration." + }, + "enableRBAC": { "type": "boolean", - "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + "description": "Whether to enable Kubernetes Role-Based Access Control." }, - "netIpv4IpLocalPortRange": { + "supportPlan": { + "$ref": "#/definitions/KubernetesSupportPlan", + "description": "The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'." + }, + "enableNamespaceResources": { + "type": "boolean", + "description": "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." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "upgradeSettings": { + "$ref": "#/definitions/ClusterUpgradeSettings", + "description": "Settings for upgrading a cluster." + }, + "autoScalerProfile": { + "$ref": "#/definitions/ManagedClusterPropertiesAutoScalerProfile", + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { "type": "string", - "description": "Sysctl setting net.ipv4.ip_local_port_range." + "format": "arm-id", + "description": "The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/diskEncryptionSets" + } + ] + } + }, + "identityProfile": { + "type": "object", + "description": "The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is \"kubeletidentity\", with value of \"resourceId\": \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\".", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "privateLinkResources": { + "type": "array", + "description": "Private link resources associated with the cluster.", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "disableLocalAccounts": { + "type": "boolean", + "description": "If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "storageProfile": { + "$ref": "#/definitions/ManagedClusterStorageProfile", + "description": "Storage profile for the managed cluster." }, - "netIpv4NeighDefaultGcThresh1": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + "ingressProfile": { + "$ref": "#/definitions/ManagedClusterIngressProfile", + "description": "Ingress profile for the managed cluster." }, - "netIpv4NeighDefaultGcThresh2": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess", + "description": "PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS" }, - "netIpv4NeighDefaultGcThresh3": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + "workloadAutoScalerProfile": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfile", + "description": "Workload Auto-scaler profile for the managed cluster." }, - "netNetfilterNfConntrackMax": { - "type": "integer", - "format": "int32", - "minimum": 131072, - "maximum": 2097152, - "description": "Sysctl setting net.netfilter.nf_conntrack_max." + "azureMonitorProfile": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfile", + "description": "Azure Monitor addon profiles for monitoring the managed cluster." }, - "netNetfilterNfConntrackBuckets": { - "type": "integer", - "format": "int32", - "minimum": 65536, - "maximum": 524288, - "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + "serviceMeshProfile": { + "$ref": "#/definitions/ServiceMeshProfile", + "description": "Service mesh profile for a managed cluster." }, - "fsInotifyMaxUserWatches": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting fs.inotify.max_user_watches." + "resourceUID": { + "type": "string", + "description": "The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)", + "readOnly": true }, - "fsFileMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting fs.file-max." + "metricsProfile": { + "$ref": "#/definitions/ManagedClusterMetricsProfile", + "description": "Optional cluster metrics configuration." }, - "fsAioMaxNr": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting fs.aio-max-nr." + "nodeProvisioningProfile": { + "$ref": "#/definitions/ManagedClusterNodeProvisioningProfile", + "description": "Node provisioning settings that apply to the whole cluster." }, - "fsNrOpen": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting fs.nr_open." + "bootstrapProfile": { + "$ref": "#/definitions/ManagedClusterBootstrapProfile", + "description": "Profile of the cluster bootstrap configuration." }, - "kernelThreadsMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting kernel.threads-max." + "aiToolchainOperatorProfile": { + "$ref": "#/definitions/ManagedClusterAIToolchainOperatorProfile", + "description": "AI toolchain operator settings that apply to the whole cluster." }, - "vmMaxMapCount": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting vm.max_map_count." + "schedulerProfile": { + "$ref": "#/definitions/SchedulerProfile", + "description": "Profile of the pod scheduler configuration." }, - "vmSwappiness": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting vm.swappiness." + "hostedSystemProfile": { + "$ref": "#/definitions/ManagedClusterHostedSystemProfile", + "description": "Settings for hosted system addons. For more information, see https://aka.ms/aks/automatic/systemcomponents." }, - "vmVfsCachePressure": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting vm.vfs_cache_pressure." + "status": { + "$ref": "#/definitions/ManagedClusterStatus", + "description": "Contains read-only information about the Managed Cluster." } } }, - "ManagedClusterHTTPProxyConfig": { - "description": "Cluster HTTP proxy configuration.", + "ManagedClusterPropertiesAutoScalerProfile": { "type": "object", + "description": "Parameters to be applied to the cluster-autoscaler when enabled", "properties": { - "httpProxy": { + "balance-similar-node-groups": { "type": "string", - "description": "The HTTP proxy server endpoint to use." + "description": "Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'", + "x-ms-client-name": "balanceSimilarNodeGroups" }, - "httpsProxy": { + "daemonset-eviction-for-empty-nodes": { + "type": "boolean", + "description": "DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.", + "x-ms-client-name": "daemonsetEvictionForEmptyNodes" + }, + "daemonset-eviction-for-occupied-nodes": { + "type": "boolean", + "description": "DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.", + "x-ms-client-name": "daemonsetEvictionForOccupiedNodes" + }, + "ignore-daemonsets-utilization": { + "type": "boolean", + "description": "Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.", + "x-ms-client-name": "ignoreDaemonsetsUtilization" + }, + "expander": { + "$ref": "#/definitions/Expander", + "description": "The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." + }, + "max-empty-bulk-delete": { "type": "string", - "description": "The HTTPS proxy server endpoint to use." + "description": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.", + "x-ms-client-name": "maxEmptyBulkDelete" }, - "noProxy": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The endpoints that should not go through proxy." + "max-graceful-termination-sec": { + "type": "string", + "description": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.", + "x-ms-client-name": "maxGracefulTerminationSec" }, - "effectiveNoProxy": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS." + "max-node-provision-time": { + "type": "string", + "description": "The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "maxNodeProvisionTime" }, - "trustedCa": { + "max-total-unready-percentage": { "type": "string", - "description": "Alternative CA cert to use for connecting to proxy servers." + "description": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.", + "x-ms-client-name": "maxTotalUnreadyPercentage" }, - "enabled": { - "type": "boolean", - "description": "Whether to enable HTTP proxy. When disabled, the specified proxy configuration will be not be set on pods and nodes." - } - } - }, - "GPUInstanceProfile": { - "type": "string", - "enum": [ - "MIG1g", - "MIG2g", - "MIG3g", - "MIG4g", - "MIG7g" - ], - "x-ms-enum": { - "name": "GPUInstanceProfile ", - "modelAsString": true - }, - "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." - }, - "ExtendedLocationType": { - "type": "string", - "description": "The type of extendedLocation.", - "enum": [ - "EdgeZone" - ], - "x-ms-enum": { - "name": "ExtendedLocationTypes", - "modelAsString": true - } - }, - "ExtendedLocation": { - "type": "object", - "description": "The complex type of the extended location.", - "properties": { - "name": { + "new-pod-scale-up-delay": { "type": "string", - "description": "The name of the extended location." + "description": "Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).", + "x-ms-client-name": "newPodScaleUpDelay" }, - "type": { - "$ref": "#/definitions/ExtendedLocationType", - "description": "The type of the extended location." - } - } - }, - "GuardrailsAvailableVersionsProperties": { - "type": "object", - "description": "Whether the version is default or not and support info.", - "properties": { - "isDefaultVersion": { - "type": "boolean", - "readOnly": true + "ok-total-unready-count": { + "type": "string", + "description": "The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.", + "x-ms-client-name": "okTotalUnreadyCount" }, - "support": { + "scan-interval": { "type": "string", - "enum": [ - "Preview", - "Stable" - ], - "x-ms-enum": { - "name": "GuardrailsSupport", - "modelAsString": true, - "values": [ - { - "value": "Preview", - "description": "The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases." - }, - { - "value": "Stable", - "description": "The version is stable and can be used on critical production clusters." - } - ] - }, - "description": "Whether the version is preview or stable.", - "readOnly": true - } - } - }, - "GuardrailsAvailableVersion": { - "type": "object", - "description": "Available Guardrails Version", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/GuardrailsAvailableVersionsProperties" - } - }, - "required": [ - "properties" - ] - }, - "GuardrailsAvailableVersionsList": { - "type": "object", - "description": "Hold values properties, which is array of GuardrailsVersions", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/GuardrailsAvailableVersion" - }, - "description": "Array of AKS supported Guardrails versions." + "description": "How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.", + "x-ms-client-name": "scanInterval" }, - "nextLink": { + "scale-down-delay-after-add": { "type": "string", - "description": "The URL to get the next Guardrails available version.", - "readOnly": true - } - } - }, - "SafeguardsAvailableVersionsProperties": { - "type": "object", - "description": "Whether the version is default or not and support info.", - "properties": { - "isDefaultVersion": { - "type": "boolean", - "readOnly": true + "description": "How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownDelayAfterAdd" }, - "support": { + "scale-down-delay-after-delete": { "type": "string", - "enum": [ - "Preview", - "Stable" - ], - "x-ms-enum": { - "name": "SafeguardsSupport", - "modelAsString": true, - "values": [ - { - "value": "Preview", - "description": "The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases." - }, - { - "value": "Stable", - "description": "The version is stable and can be used on critical production clusters." - } - ] - }, - "description": "Whether the version is preview or stable.", - "readOnly": true - } - } - }, - "SafeguardsAvailableVersion": { - "type": "object", - "description": "Available Safeguards Version", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SafeguardsAvailableVersionsProperties" - } - }, - "required": [ - "properties" - ] - }, - "SafeguardsAvailableVersionsList": { - "type": "object", - "description": "Hold values properties, which is array of SafeguardsVersions", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SafeguardsAvailableVersion" - }, - "description": "Array of AKS supported Safeguards versions." + "description": "How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownDelayAfterDelete" + }, + "scale-down-delay-after-failure": { + "type": "string", + "description": "How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownDelayAfterFailure" }, - "nextLink": { + "scale-down-unneeded-time": { "type": "string", - "description": "The URL to get the next Safeguards available version.", - "readOnly": true - } - } - }, - "EndpointDependency": { - "description": "A domain name that AKS agent nodes are reaching at.", - "type": "object", - "properties": { - "domainName": { - "description": "The domain name of the dependency.", - "type": "string" + "description": "How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownUnneededTime" }, - "endpointDetails": { - "description": "The Ports and Protocols used when connecting to domainName.", - "type": "array", - "items": { - "$ref": "#/definitions/EndpointDetail" - }, - "x-ms-identifiers": [] + "scale-down-unready-time": { + "type": "string", + "description": "How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownUnreadyTime" + }, + "scale-down-utilization-threshold": { + "type": "string", + "description": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.", + "x-ms-client-name": "scaleDownUtilizationThreshold" + }, + "skip-nodes-with-local-storage": { + "type": "string", + "description": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.", + "x-ms-client-name": "skipNodesWithLocalStorage" + }, + "skip-nodes-with-system-pods": { + "type": "string", + "description": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.", + "x-ms-client-name": "skipNodesWithSystemPods" } } }, - "EndpointDetail": { - "description": "connect information from the AKS agent nodes to a single endpoint.", + "ManagedClusterPropertiesForSnapshot": { "type": "object", + "description": "managed cluster properties for snapshot, these properties are read only.", "properties": { - "ipAddress": { - "description": "An IP Address that Domain Name currently resolves to.", - "type": "string" + "kubernetesVersion": { + "type": "string", + "description": "The current kubernetes version." }, - "port": { - "format": "int32", - "description": "The port an endpoint is connected to.", - "type": "integer" + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The current managed cluster sku." }, - "protocol": { - "description": "The protocol used for connection", - "type": "string" + "enableRbac": { + "type": "boolean", + "description": "Whether the cluster has enabled Kubernetes Role-Based Access Control or not." }, - "description": { - "description": "Description of the detail", - "type": "string" + "networkProfile": { + "$ref": "#/definitions/NetworkProfileForSnapshot", + "description": "The current network profile.", + "readOnly": true } } }, - "OutboundEnvironmentEndpoint": { - "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "ManagedClusterSKU": { "type": "object", + "description": "The SKU of a Managed Cluster.", "properties": { - "category": { - "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", - "type": "string" + "name": { + "$ref": "#/definitions/ManagedClusterSKUName", + "description": "The name of a managed cluster SKU." }, - "endpoints": { - "description": "The endpoints that AKS agent nodes connect to", - "type": "array", - "items": { - "$ref": "#/definitions/EndpointDependency" - }, - "x-ms-identifiers": [] + "tier": { + "$ref": "#/definitions/ManagedClusterSKUTier", + "description": "The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details." } } }, - "OutboundEnvironmentEndpointCollection": { - "description": "Collection of OutboundEnvironmentEndpoint", - "required": [ - "value" + "ManagedClusterSKUName": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Base", + "Automatic" ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/OutboundEnvironmentEndpoint" + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true, + "values": [ + { + "name": "Base", + "value": "Base", + "description": "Base option for the AKS control plane." }, - "x-ms-identifiers": [] - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } + { + "name": "Automatic", + "value": "Automatic", + "description": "Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic." + } + ] + } + }, + "ManagedClusterSKUTier": { + "type": "string", + "description": "The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details.", + "enum": [ + "Premium", + "Standard", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "name": "Premium", + "value": "Premium", + "description": "Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions." + }, + { + "name": "Standard", + "value": "Standard", + "description": "Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, + { + "name": "Free", + "value": "Free", + "description": "The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases." + } + ] } }, "ManagedClusterSecurityProfile": { "type": "object", + "description": "Security profile for the container service cluster.", "properties": { "defender": { "$ref": "#/definitions/ManagedClusterSecurityProfileDefender", @@ -10318,394 +11643,296 @@ "$ref": "#/definitions/ManagedClusterSecurityProfileWorkloadIdentity", "description": "Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details." }, - "imageCleaner": { - "$ref": "#/definitions/ManagedClusterSecurityProfileImageCleaner", - "description": "Image Cleaner settings for the security profile." - }, - "imageIntegrity": { - "$ref": "#/definitions/ManagedClusterSecurityProfileImageIntegrity", - "description": "Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy." - }, - "nodeRestriction": { - "$ref": "#/definitions/ManagedClusterSecurityProfileNodeRestriction", - "description": "[Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile." - }, - "customCATrustCertificates": { - "$ref": "#/definitions/ManagedClusterSecurityProfileCustomCATrustCertificates", - "description": "A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority)." - } - }, - "description": "Security profile for the container service cluster." - }, - "ManagedClusterSecurityProfileDefender": { - "type": "object", - "properties": { - "logAnalyticsWorkspaceResourceId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.OperationalInsights/workspaces" - } - ] - }, - "description": "Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty." - }, - "securityMonitoring": { - "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityMonitoring", - "description": "Microsoft Defender threat detection for Cloud settings for the security profile." - }, - "securityGating": { - "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityGating", - "description": "Microsoft Defender settings for security gating, validates container images eligibility for deployment based on Defender for Containers security findings. Using Admission Controller, it either audits or prevents the deployment of images that do not meet security standards." - } - }, - "description": "Microsoft Defender settings for the security profile." - }, - "ManagedClusterSecurityProfileDefenderSecurityMonitoring": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Defender threat detection" - } - }, - "description": "Microsoft Defender settings for the security profile threat detection." - }, - "ManagedClusterSecurityProfileDefenderSecurityGating": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Defender security gating. When enabled, the gating feature will scan container images and audit or block the deployment of images that do not meet security standards according to the configured security rules." - }, - "identities": { - "type": "array", - "description": "List of identities that the admission controller will make use of in order to pull security artifacts from the registry. These are the same identities used by the cluster to pull container images. Each identity provided should have federated identity credential attached to it.", - "items": { - "type": "object", - "properties": { - "azureContainerRegistry": { - "type": "string", - "description": "The container registry for which the identity will be used; the identity specified here should have a federated identity credential attached to it." - }, - "identity": { - "$ref": "#/definitions/UserAssignedIdentity", - "description": "The identity object used to access the registry" - } - } - } - }, - "allowSecretAccess": { - "type": "boolean", - "description": "In use only while registry access granted by secret rather than managed identity. Set whether to grant the Defender gating agent access to the cluster's secrets for pulling images from registries. If secret access is denied and the registry requires pull secrets, the add-on will not perform any image validation. Default value is false." - } - }, - "description": "Microsoft Defender settings for security gating, validates container images eligibility for deployment based on Defender for Containers security findings. Using Admission Controller, it either audits or prevents the deployment of images that do not meet security standards." - }, - "ManagedClusterStorageProfile": { - "type": "object", - "properties": { - "diskCSIDriver": { - "$ref": "#/definitions/ManagedClusterStorageProfileDiskCSIDriver", - "description": "AzureDisk CSI Driver settings for the storage profile." - }, - "fileCSIDriver": { - "$ref": "#/definitions/ManagedClusterStorageProfileFileCSIDriver", - "description": "AzureFile CSI Driver settings for the storage profile." - }, - "snapshotController": { - "$ref": "#/definitions/ManagedClusterStorageProfileSnapshotController", - "description": "Snapshot Controller settings for the storage profile." - }, - "blobCSIDriver": { - "$ref": "#/definitions/ManagedClusterStorageProfileBlobCSIDriver", - "description": "AzureBlob CSI Driver settings for the storage profile." - } - }, - "description": "Storage profile for the container service cluster." - }, - "AzureKeyVaultKms": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Azure Key Vault key management service. The default is false." - }, - "keyId": { - "type": "string", - "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty." - }, - "keyVaultNetworkAccess": { - "type": "string", - "enum": [ - "Public", - "Private" - ], - "default": "Public", - "x-ms-enum": { - "name": "KeyVaultNetworkAccessTypes", - "modelAsString": true - }, - "description": "Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`." - }, - "keyVaultResourceId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.KeyVault/vaults" - } - ] - }, - "description": "Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty." - } - }, - "description": "Azure Key Vault key management service settings for the security profile." - }, - "KubernetesResourceObjectEncryptionProfile": { - "type": "object", - "properties": { - "infrastructureEncryption": { - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "default": "Disabled", - "description": "Whether to enable encryption at rest of Kubernetes resource objects using service-managed keys. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption.", - "x-ms-enum": { - "modelAsString": true, - "name": "InfrastructureEncryption", - "values": [ - { - "description": "Encryption at rest of Kubernetes resource objects using service-managed keys is enabled. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption.", - "value": "Enabled" - }, - { - "description": "Encryption at rest of Kubernetes resource objects using service-managed keys is disabled. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption.", - "value": "Disabled" - } - ] - } - } - }, - "description": "Encryption at rest of Kubernetes resource objects using service-managed keys. More information on this can be found under https://aka.ms/aks/kubernetesResourceObjectEncryption." - }, - "ManagedClusterIngressProfile": { - "type": "object", - "properties": { - "gatewayAPI": { - "$ref": "#/definitions/ManagedClusterIngressProfileGatewayConfiguration", - "description": "Settings for the managed Gateway API installation" - }, - "webAppRouting": { - "$ref": "#/definitions/ManagedClusterIngressProfileWebAppRouting", - "description": "Web App Routing settings for the ingress profile." + "imageCleaner": { + "$ref": "#/definitions/ManagedClusterSecurityProfileImageCleaner", + "description": "Image Cleaner settings for the security profile." }, - "applicationLoadBalancer": { - "$ref": "#/definitions/ManagedClusterIngressProfileApplicationLoadBalancer", - "description": "Settings for the managed Application Load Balancer installation" + "imageIntegrity": { + "$ref": "#/definitions/ManagedClusterSecurityProfileImageIntegrity", + "description": "Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy." + }, + "nodeRestriction": { + "$ref": "#/definitions/ManagedClusterSecurityProfileNodeRestriction", + "description": "[Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile." + }, + "customCATrustCertificates": { + "type": "array", + "description": "A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority).", + "minItems": 0, + "maxItems": 10, + "items": { + "type": "string", + "format": "byte" + } } - }, - "description": "Ingress profile for the container service cluster." + } }, - "ManagedClusterIngressProfileGatewayConfiguration": { + "ManagedClusterSecurityProfileDefender": { "type": "object", + "description": "Microsoft Defender settings for the security profile.", "properties": { - "installation": { + "logAnalyticsWorkspaceResourceId": { "type": "string", - "description": "Configuration for the managed Gateway API installation. If not specified, the default is 'Disabled'. See https://aka.ms/k8s-gateway-api for more details.", - "enum": [ - "Disabled", - "Standard" - ], - "x-ms-enum": { - "name": "ManagedGatewayType", - "modelAsString": true, - "values": [ - { - "value": "Disabled", - "description": "Gateway API CRDs will not be reconciled on your cluster." - }, + "format": "arm-id", + "description": "Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "Standard", - "description": "The latest Gateway CRD bundle from the standard channel that is compatible with your Kubernetes version will be reconciled onto your cluster. See https://gateway-api.sigs.k8s.io/concepts/versioning/ for more details." + "type": "Microsoft.OperationalInsights/workspaces" } ] } + }, + "securityMonitoring": { + "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityMonitoring", + "description": "Microsoft Defender threat detection for Cloud settings for the security profile." + }, + "securityGating": { + "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityGating", + "description": "Microsoft Defender settings for security gating, validates container images eligibility for deployment based on Defender for Containers security findings. Using Admission Controller, it either audits or prevents the deployment of images that do not meet security standards." } } }, - "ManagedClusterIngressProfileWebAppRouting": { + "ManagedClusterSecurityProfileDefenderSecurityGating": { "type": "object", + "description": "Microsoft Defender settings for security gating, validates container images eligibility for deployment based on Defender for Containers security findings. Using Admission Controller, it either audits or prevents the deployment of images that do not meet security standards.", "properties": { "enabled": { "type": "boolean", - "description": "Whether to enable Web App Routing." + "description": "Whether to enable Defender security gating. When enabled, the gating feature will scan container images and audit or block the deployment of images that do not meet security standards according to the configured security rules." }, - "dnsZoneResourceIds": { + "identities": { "type": "array", + "description": "List of identities that the admission controller will make use of in order to pull security artifacts from the registry. These are the same identities used by the cluster to pull container images. Each identity provided should have federated identity credential attached to it.", "items": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/dnszones" - }, - { - "type": "Microsoft.Network/privateDnsZones" - } - ] - } + "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityGatingIdentitiesItem" }, - "maxItems": 5, - "description": "Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only when Web App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group." - }, - "nginx": { - "$ref": "#/definitions/ManagedClusterIngressProfileNginx", - "description": "Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller." + "x-ms-identifiers": [] }, - "defaultDomain": { - "$ref": "#/definitions/ManagedClusterIngressDefaultDomainProfile", - "description": "Configuration for the Default Domain. This is a unique, autogenerated domain that comes with a signed TLS Certificate allowing for secure HTTPS. See [the Default Domain documentation](https://aka.ms/aks/defaultdomain) for more instructions." + "allowSecretAccess": { + "type": "boolean", + "description": "In use only while registry access granted by secret rather than managed identity. Set whether to grant the Defender gating agent access to the cluster's secrets for pulling images from registries. If secret access is denied and the registry requires pull secrets, the add-on will not perform any image validation. Default value is false." + } + } + }, + "ManagedClusterSecurityProfileDefenderSecurityGatingIdentitiesItem": { + "type": "object", + "properties": { + "azureContainerRegistry": { + "type": "string", + "description": "The container registry for which the identity will be used; the identity specified here should have a federated identity credential attached to it." }, "identity": { - "readOnly": true, - "type": "object", "$ref": "#/definitions/UserAssignedIdentity", - "description": "Managed identity of the Web Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions." + "description": "The identity object used to access the registry" } - }, - "description": "Web App Routing settings for the ingress profile." + } }, - "ManagedClusterIngressProfileApplicationLoadBalancer": { + "ManagedClusterSecurityProfileDefenderSecurityMonitoring": { "type": "object", + "description": "Microsoft Defender settings for the security profile threat detection.", "properties": { "enabled": { "type": "boolean", - "description": "Whether to enable Application Load Balancer." + "description": "Whether to enable Defender threat detection" + } + } + }, + "ManagedClusterSecurityProfileImageCleaner": { + "type": "object", + "description": "Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Image Cleaner on AKS cluster." }, - "identity": { - "$ref": "#/definitions/UserAssignedIdentity", - "description": "Managed identity of the Application Load Balancer add-on. This is the identity that should be granted permissions to manage the associated Application Gateway for Containers resource.", - "readOnly": true, - "type": "object" + "intervalHours": { + "type": "integer", + "format": "int32", + "description": "Image Cleaner scanning interval in hours." + } + } + }, + "ManagedClusterSecurityProfileImageIntegrity": { + "type": "object", + "description": "Image integrity related settings for the security profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable image integrity. The default value is false." + } + } + }, + "ManagedClusterSecurityProfileNodeRestriction": { + "type": "object", + "description": "Node Restriction settings for the security profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Node Restriction" + } + } + }, + "ManagedClusterSecurityProfileWorkloadIdentity": { + "type": "object", + "description": "Workload identity settings for the security profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable workload identity." + } + } + }, + "ManagedClusterServicePrincipalProfile": { + "type": "object", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", + "properties": { + "clientId": { + "type": "string", + "description": "The ID for the service principal." + }, + "secret": { + "type": "string", + "description": "The secret password associated with the service principal in plain text." } }, - "description": "Application Load Balancer settings for the ingress profile." + "required": [ + "clientId" + ] }, - "ManagedClusterIngressProfileNginx": { + "ManagedClusterSnapshot": { "type": "object", + "description": "A managed cluster snapshot resource.", "properties": { - "defaultIngressControllerType": { + "properties": { + "$ref": "#/definitions/ManagedClusterSnapshotProperties", + "description": "Properties of a managed cluster snapshot.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" + } + ] + }, + "ManagedClusterSnapshotListResult": { + "type": "object", + "description": "The response of a ManagedClusterSnapshot list operation.", + "properties": { + "value": { + "type": "array", + "description": "The ManagedClusterSnapshot items on this page", + "items": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ManagedClusterSnapshotProperties": { + "type": "object", + "description": "Properties for a managed cluster snapshot.", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source resource ID to create this snapshot." + }, + "snapshotType": { "type": "string", - "description": "Ingress type for the default NginxIngressController custom resource", + "description": "The type of a snapshot. The default is NodePool.", + "default": "NodePool", "enum": [ - "AnnotationControlled", - "External", - "Internal", - "None" + "NodePool", + "ManagedCluster" ], "x-ms-enum": { - "name": "NginxIngressControllerType", + "name": "SnapshotType", "modelAsString": true, "values": [ { - "value": "AnnotationControlled", - "description": "The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations." - }, - { - "value": "External", - "description": "The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten." + "name": "NodePool", + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." }, { - "value": "Internal", - "description": "The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten." - }, - { - "value": "None", - "description": "The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired." + "name": "ManagedCluster", + "value": "ManagedCluster", + "description": "The snapshot is a snapshot of a managed cluster." } ] } + }, + "managedClusterPropertiesReadOnly": { + "$ref": "#/definitions/ManagedClusterPropertiesForSnapshot", + "description": "What the properties will be showed when getting managed cluster snapshot. Those properties are read-only.", + "readOnly": true } } }, - "ManagedClusterIngressDefaultDomainProfile": { + "ManagedClusterStaticEgressGatewayProfile": { "type": "object", + "description": "The Static Egress Gateway addon configuration for the cluster.", "properties": { "enabled": { "type": "boolean", - "description": "Whether to enable Default Domain." - }, - "domainName": { - "readOnly": true, - "type": "string", - "description": "The unique fully qualified domain name assigned to the cluster. This will not change even if disabled then reenabled." + "description": "Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not." } } }, - "ManagedClusterSecurityProfileWorkloadIdentity": { + "ManagedClusterStatus": { "type": "object", + "description": "Contains read-only information about the Managed Cluster.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable workload identity." + "provisioningError": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", + "description": "The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.", + "readOnly": true } - }, - "description": "Workload identity settings for the security profile." + } }, - "ManagedClusterSecurityProfileImageCleaner": { + "ManagedClusterStorageProfile": { "type": "object", + "description": "Storage profile for the container service cluster.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Image Cleaner on AKS cluster." + "diskCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileDiskCSIDriver", + "description": "AzureDisk CSI Driver settings for the storage profile." }, - "intervalHours": { - "type": "integer", - "format": "int32", - "description": "Image Cleaner scanning interval in hours." - } - }, - "description": "Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile." - }, - "ManagedClusterSecurityProfileImageIntegrity": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable image integrity. The default value is false." + "fileCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileFileCSIDriver", + "description": "AzureFile CSI Driver settings for the storage profile." + }, + "snapshotController": { + "$ref": "#/definitions/ManagedClusterStorageProfileSnapshotController", + "description": "Snapshot Controller settings for the storage profile." + }, + "blobCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileBlobCSIDriver", + "description": "AzureBlob CSI Driver settings for the storage profile." } - }, - "description": "Image integrity related settings for the security profile." + } }, - "ManagedClusterSecurityProfileNodeRestriction": { + "ManagedClusterStorageProfileBlobCSIDriver": { "type": "object", + "description": "AzureBlob CSI Driver settings for the storage profile.", "properties": { "enabled": { "type": "boolean", - "description": "Whether to enable Node Restriction" + "description": "Whether to enable AzureBlob CSI Driver. The default value is false." } - }, - "description": "Node Restriction settings for the security profile." - }, - "ManagedClusterSecurityProfileCustomCATrustCertificates": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "minItems": 0, - "maxItems": 10, - "description": "The list of base64 encoded certificate strings that will be added to the node trust store. At most 10 certificates can be provided. Certificates will be added to trust stores of all the nodes in the cluster. If updated, the new list of certificates will be installed in the trust store in place of the old certificates. For node pools of VMSS type, updating the value of this field will result in nodes being reimaged." + } }, "ManagedClusterStorageProfileDiskCSIDriver": { "type": "object", + "description": "AzureDisk CSI Driver settings for the storage profile.", "properties": { "enabled": { "type": "boolean", @@ -10715,2451 +11942,2924 @@ "type": "string", "description": "The version of AzureDisk CSI Driver. The default value is v1." } - }, - "description": "AzureDisk CSI Driver settings for the storage profile." + } }, "ManagedClusterStorageProfileFileCSIDriver": { "type": "object", + "description": "AzureFile CSI Driver settings for the storage profile.", "properties": { "enabled": { "type": "boolean", "description": "Whether to enable AzureFile CSI Driver. The default value is true." } - }, - "description": "AzureFile CSI Driver settings for the storage profile." + } }, "ManagedClusterStorageProfileSnapshotController": { "type": "object", + "description": "Snapshot Controller settings for the storage profile.", "properties": { "enabled": { "type": "boolean", "description": "Whether to enable Snapshot Controller. The default value is true." } - }, - "description": "Snapshot Controller settings for the storage profile." - }, - "ManagedClusterStorageProfileBlobCSIDriver": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable AzureBlob CSI Driver. The default value is false." - } - }, - "description": "AzureBlob CSI Driver settings for the storage profile." - }, - "CreationData": { - "description": "Data used when creating a target resource from a source resource.", - "type": "object", - "properties": { - "sourceResourceId": { - "type": "string", - "format": "arm-id", - "description": "This is the ARM ID of the source object to be used to create the target object." - } } }, - "SnapshotListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Snapshot" - }, - "description": "The list of snapshots." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of snapshot results.", - "readOnly": true - } - }, - "description": "The response from the List Snapshots operation." - }, - "ManagedClusterSnapshotListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedClusterSnapshot" - }, - "description": "The list of managed cluster snapshots." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of managed cluster snapshot results.", - "readOnly": true - } - }, - "description": "The response from the List Managed Cluster Snapshots operation." - }, - "Snapshot": { + "ManagedClusterUpgradeProfile": { "type": "object", + "description": "The list of available upgrades for compute pools.", "properties": { "properties": { - "description": "Properties of a snapshot.", - "$ref": "#/definitions/SnapshotProperties", + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the upgrade profile.", "x-ms-client-flatten": true } }, + "required": [ + "properties" + ], "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } - ], - "description": "A node pool snapshot resource." + ] }, - "ManagedClusterSnapshot": { + "ManagedClusterUpgradeProfileProperties": { "type": "object", + "description": "Control plane and agent pool upgrade profiles.", "properties": { - "properties": { - "description": "Properties of a managed cluster snapshot.", - "$ref": "#/definitions/ManagedClusterSnapshotProperties", - "x-ms-client-flatten": true + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "description": "The list of available upgrade versions for agent pools.", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "x-ms-identifiers": [] } }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" - } - ], - "description": "A managed cluster snapshot resource." + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ] }, - "SnapshotProperties": { + "ManagedClusterWindowsProfile": { "type": "object", + "description": "Profile for Windows VMs in the managed cluster.", "properties": { - "creationData": { - "$ref": "#/definitions/CreationData", - "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." - }, - "snapshotType": { - "$ref": "#/definitions/SnapshotType" - }, - "kubernetesVersion": { - "readOnly": true, + "adminUsername": { "type": "string", - "description": "The version of Kubernetes." + "description": "Specifies the name of the administrator account.

**Restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length:** 1 character

**Max-length:** 20 characters" }, - "nodeImageVersion": { - "readOnly": true, + "adminPassword": { "type": "string", - "description": "The version of node image." - }, - "osType": { - "readOnly": true, - "$ref": "#/definitions/OSType" - }, - "osSku": { - "readOnly": true, - "$ref": "#/definitions/OSSKU" + "description": "Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"" }, - "vmSize": { - "readOnly": true, - "type": "string", - "description": "The size of the VM." + "licenseType": { + "$ref": "#/definitions/LicenseType", + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." }, - "enableFIPS": { - "readOnly": true, + "enableCSIProxy": { "type": "boolean", - "description": "Whether to use a FIPS-enabled OS." + "description": "Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." } }, - "description": "Properties used to configure a node pool snapshot." + "required": [ + "adminUsername" + ] }, - "ManagedClusterSnapshotProperties": { + "ManagedClusterWorkloadAutoScalerProfile": { "type": "object", + "description": "Workload Auto-scaler profile for the managed cluster.", "properties": { - "creationData": { - "$ref": "#/definitions/CreationData", - "description": "CreationData to be used to specify the source resource ID to create this snapshot." - }, - "snapshotType": { - "$ref": "#/definitions/SnapshotType" + "keda": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileKeda", + "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile." }, - "managedClusterPropertiesReadOnly": { - "$ref": "#/definitions/ManagedClusterPropertiesForSnapshot", - "description": "What the properties will be showed when getting managed cluster snapshot. Those properties are read-only." + "verticalPodAutoscaler": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler", + "description": "VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile." } - }, - "description": "Properties for a managed cluster snapshot." + } }, - "ManagedClusterPropertiesForSnapshot": { + "ManagedClusterWorkloadAutoScalerProfileKeda": { "type": "object", - "readOnly": true, + "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.", "properties": { - "kubernetesVersion": { - "type": "string", - "description": "The current kubernetes version." - }, - "sku": { - "type": "object", - "$ref": "#/definitions/ManagedClusterSKU", - "description": "The current managed cluster sku." - }, - "enableRbac": { + "enabled": { "type": "boolean", - "description": "Whether the cluster has enabled Kubernetes Role-Based Access Control or not." - }, - "networkProfile": { - "type": "object", - "$ref": "#/definitions/NetworkProfileForSnapshot", - "description": "The current network profile." + "description": "Whether to enable KEDA." } }, - "description": "managed cluster properties for snapshot, these properties are read only." + "required": [ + "enabled" + ] }, - "NetworkProfileForSnapshot": { + "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler": { "type": "object", - "readOnly": true, + "description": "VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.", "properties": { - "networkPlugin": { - "$ref": "#/definitions/NetworkPlugin", - "description": "networkPlugin for managed cluster snapshot." - }, - "networkPluginMode": { - "$ref": "#/definitions/NetworkPluginMode", - "description": "NetworkPluginMode for managed cluster snapshot." - }, - "networkPolicy": { - "$ref": "#/definitions/NetworkPolicy", - "description": "networkPolicy for managed cluster snapshot." - }, - "networkMode": { - "$ref": "#/definitions/NetworkMode", - "description": "networkMode for managed cluster snapshot." + "enabled": { + "type": "boolean", + "description": "Whether to enable VPA. Default value is false.", + "default": false }, - "loadBalancerSku": { - "$ref": "#/definitions/LoadBalancerSku", - "description": "loadBalancerSku for managed cluster snapshot." - } - }, - "description": "network profile for managed cluster snapshot, these properties are read only." - }, - "NetworkPlugin": { - "type": "string", - "enum": [ - "azure", - "kubenet", - "none" - ], - "x-ms-enum": { - "name": "NetworkPlugin", - "modelAsString": true, - "values": [ - { - "value": "azure", - "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." - }, - { - "value": "kubenet", - "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." - }, - { - "value": "none", - "description": "Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking functionality." - } - ] - }, - "description": "Network plugin used for building the Kubernetes network." - }, - "NetworkPluginMode": { - "type": "string", - "enum": [ - "overlay" - ], - "x-ms-enum": { - "name": "NetworkPluginMode", - "modelAsString": true, - "values": [ - { - "value": "overlay", - "description": "Pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet reference plugins host-local and bridge." + "addonAutoscaling": { + "type": "string", + "description": "Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "AddonAutoscaling", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial mode." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Feature to autoscale AKS-managed add-ons is disabled." + } + ] } - ] + } }, - "description": "The mode the network plugin should use." + "required": [ + "enabled" + ] }, - "NetworkPolicy": { + "ManagedGatewayType": { "type": "string", + "description": "Configuration for the managed Gateway API installation. If not specified, the default is 'Disabled'. See https://aka.ms/k8s-gateway-api for more details.", "enum": [ - "none", - "calico", - "azure", - "cilium" + "Disabled", + "Standard" ], "x-ms-enum": { - "name": "NetworkPolicy", + "name": "ManagedGatewayType", "modelAsString": true, "values": [ { - "value": "none", - "description": "Network policies will not be enforced. This is the default value when NetworkPolicy is not specified." - }, - { - "value": "calico", - "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." - }, - { - "value": "azure", - "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + "name": "Disabled", + "value": "Disabled", + "description": "Gateway API CRDs will not be reconciled on your cluster." }, { - "value": "cilium", - "description": "Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'." + "name": "Standard", + "value": "Standard", + "description": "The latest Gateway CRD bundle from the standard channel that is compatible with your Kubernetes version will be reconciled onto your cluster. See https://gateway-api.sigs.k8s.io/concepts/versioning/ for more details." } ] - }, - "description": "Network policy used for building the Kubernetes network." + } }, - "NetworkMode": { - "type": "string", - "enum": [ - "transparent", - "bridge" - ], - "x-ms-enum": { - "name": "networkMode", - "modelAsString": true, - "values": [ - { - "value": "transparent", - "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." - }, - { - "value": "bridge", - "description": "This is no longer supported" + "ManagedNamespace": { + "type": "object", + "description": "Namespace managed by ARM.", + "properties": { + "properties": { + "$ref": "#/definitions/NamespaceProperties", + "description": "Properties of a namespace." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" } - ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "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.", + "readOnly": true + } }, - "description": "The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ] }, - "NetworkDataplane": { - "type": "string", - "enum": [ - "azure", - "cilium" - ], - "x-ms-enum": { - "name": "networkDataplane", - "modelAsString": true, - "values": [ - { - "value": "azure", - "description": "Use Azure network dataplane." - }, - { - "value": "cilium", - "description": "Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information." + "ManagedNamespaceListResult": { + "type": "object", + "description": "The response of a ManagedNamespace list operation.", + "properties": { + "value": { + "type": "array", + "description": "The ManagedNamespace items on this page", + "items": { + "$ref": "#/definitions/ManagedNamespace" } - ] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } }, - "description": "Network dataplane used in the Kubernetes cluster." + "required": [ + "value" + ] }, - "AdvancedNetworking": { + "ManagedServiceIdentityUserAssignedIdentitiesValue": { "type": "object", - "description": "Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.", "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false." - }, - "observability": { - "$ref": "#/definitions/AdvancedNetworkingObservability" - }, - "security": { - "$ref": "#/definitions/AdvancedNetworkingSecurity" + "principalId": { + "type": "string", + "description": "The principal id of user assigned identity.", + "readOnly": true }, - "performance": { - "$ref": "#/definitions/AdvancedNetworkingPerformance" + "clientId": { + "type": "string", + "description": "The client id of user assigned identity.", + "readOnly": true } } }, - "AdvancedNetworkingObservability": { + "ManualScaleProfile": { "type": "object", - "description": "Observability profile to enable advanced network metrics and flow logs with historical contexts.", + "description": "Specifications on number of machines.", "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates the enablement of Advanced Networking observability functionalities on clusters." + "size": { + "type": "string", + "description": "VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'." + }, + "count": { + "type": "integer", + "format": "int32", + "description": "Number of nodes." } } }, - "AdvancedNetworkingSecurity": { + "MeshMembership": { "type": "object", - "description": "Security profile to enable security features on cilium-based cluster.", + "description": "Mesh membership of a managed cluster.", "properties": { - "enabled": { - "type": "boolean", - "description": "Configure Advanced Networking Security features on Cilium clusters. See individual fields for their default values." + "properties": { + "$ref": "#/definitions/MeshMembershipProperties", + "description": "Mesh membership properties of a managed cluster." }, - "advancedNetworkPolicies": { + "managedBy": { "type": "string", - "enum": [ - "L7", - "FQDN", - "None" - ], - "x-ms-enum": { - "name": "advancedNetworkPolicies", - "modelAsString": true, - "values": [ - { - "value": "L7", - "description": "Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option." - }, - { - "value": "FQDN", - "description": "Enable FQDN based network policies" - }, - { - "value": "None", - "description": "Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)" - } - ] - }, - "description": "Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true." + "description": "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.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] }, - "transitEncryption": { - "type": "object", - "description": "Encryption configuration for Cilium-based clusters. Once enabled all traffic between Cilium managed pods will be encrypted when it leaves the node boundary.", - "properties": { - "type": { - "type": "string", - "enum": [ - "None", - "WireGuard" - ], - "x-ms-enum": { - "name": "transitEncryptionType", - "modelAsString": true, - "values": [ - { - "value": "WireGuard", - "description": "Enable WireGuard encryption. Refer to https://docs.cilium.io/en/latest/security/network/encryption-wireguard/ on use cases and implementation details" - }, - { - "value": "None", - "description": "Disable Transit encryption" - } - ] - }, - "description": "Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None." - } - } + "eTag": { + "type": "string", + "description": "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.", + "readOnly": true } - } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "AdvancedNetworkingPerformance": { + "MeshMembershipProperties": { "type": "object", - "description": "Profile to enable performance-enhancing features on clusters that use Azure CNI powered by Cilium.", + "description": "Mesh membership properties of a managed cluster.", "properties": { - "accelerationMode": { + "provisioningState": { + "$ref": "#/definitions/MeshMembershipProvisioningState", + "description": "The current provisioning state of the Mesh Membership.", + "readOnly": true + }, + "managedMeshID": { "type": "string", - "enum": [ - "BpfVeth", - "None" - ], - "x-ms-enum": { - "name": "AccelerationMode", - "modelAsString": true, - "values": [ - { - "value": "BpfVeth", - "description": "Enable eBPF host routing with veth device mode." - }, + "format": "arm-id", + "description": "The ARM resource id for the managed mesh member. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/applinks/{appLinkName}/appLinkMembers/{appLinkMemberName}'. Visit https://aka.ms/applink for more information.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "None", - "description": "Disable acceleration options." + "type": "Microsoft.AppLink/applinks" } ] - }, - "default": "None", - "description": "Enable advanced network acceleration options. This allows users to configure acceleration using BPF host routing. This can be enabled only with Cilium dataplane. If not specified, the default value is None (no acceleration). The acceleration mode can be changed on a pre-existing cluster. See https://aka.ms/acnsperformance for a detailed explanation" + } } - } + }, + "required": [ + "managedMeshID" + ] }, - "LoadBalancerSku": { + "MeshMembershipProvisioningState": { "type": "string", + "description": "The provisioning state of the last accepted operation.", "enum": [ - "standard", - "basic" + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded", + "Updating" ], "x-ms-enum": { - "name": "loadBalancerSku", + "name": "MeshMembershipProvisioningState", "modelAsString": true, "values": [ { - "value": "standard", - "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." }, { - "value": "basic", - "description": "Use a basic Load Balancer with limited functionality." - } - ] - }, - "description": "The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." - }, - "SnapshotType": { - "type": "string", - "default": "NodePool", - "enum": [ - "NodePool", - "ManagedCluster" - ], - "x-ms-enum": { - "name": "SnapshotType", - "modelAsString": true, - "values": [ + "name": "Creating", + "value": "Creating", + "description": "The Mesh Membership is being created." + }, { - "value": "NodePool", - "description": "The snapshot is a snapshot of a node pool." + "name": "Deleting", + "value": "Deleting", + "description": "The Mesh Membership is being deleted." }, { - "value": "ManagedCluster", - "description": "The snapshot is a snapshot of a managed cluster." - } - ] - }, - "description": "The type of a snapshot. The default is NodePool." - }, - "CapacityReservationGroupID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, { - "type": "Microsoft.Compute/CapacityReservationGroups" + "name": "Updating", + "value": "Updating", + "description": "The Mesh Membership is being updated." } ] - }, - "description": "The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}'. Customers use it to create an agentpool and to update an existing agentpool with a CapacityReservationGroupID. If customers explicitly specify this CapacityReservationGroupID as an empty string, AKS will disassociate the existing CRG from the nodepool. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview)" + } }, - "TrustedAccessRoleRule": { + "MeshMembershipsListResult": { "type": "object", - "description": "Rule for trusted access role", + "description": "The result of a request to list mesh memberships in a managed cluster.", "properties": { - "verbs": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "List of allowed verbs" - }, - "apiGroups": { + "value": { "type": "array", - "readOnly": true, + "description": "The list of mesh memberships.", "items": { - "type": "string" - }, - "description": "List of allowed apiGroups" + "$ref": "#/definitions/MeshMembership" + } }, - "resources": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "List of allowed resources" + "nextLink": { + "type": "string", + "format": "uri", + "description": "The URL to get the next set of mesh membership results." + } + }, + "required": [ + "value" + ] + }, + "MeshRevision": { + "type": "object", + "description": "Holds information on upgrades and compatibility for given major.minor mesh release.", + "properties": { + "revision": { + "type": "string", + "description": "The revision of the mesh release." }, - "resourceNames": { + "upgrades": { "type": "array", - "readOnly": true, + "description": "List of revisions available for upgrade of a specific mesh revision", "items": { - "type": "string" - }, - "description": "List of allowed names" + "$ref": "#/definitions/MeshRevisionUpgradesType" + } }, - "nonResourceURLs": { + "compatibleWith": { "type": "array", - "readOnly": true, + "description": "List of items this revision of service mesh is compatible with, and their associated versions.", "items": { - "type": "string" + "$ref": "#/definitions/CompatibleVersions" }, - "description": "List of allowed nonResourceURLs" + "x-ms-identifiers": [] } } }, - "TrustedAccessRole": { + "MeshRevisionProfile": { "type": "object", - "description": "Trusted access role definition.", + "description": "Mesh revision profile for a mesh.", "properties": { - "sourceResourceType": { - "type": "string", - "readOnly": true, - "description": "Resource type of Azure resource" + "properties": { + "$ref": "#/definitions/MeshRevisionProfileProperties", + "description": "Mesh revision profile properties for a mesh" + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "MeshRevisionProfileList": { + "type": "object", + "description": "Holds an array of MeshRevisionsProfiles", + "properties": { + "value": { + "type": "array", + "description": "The MeshRevisionProfile items on this page", + "items": { + "$ref": "#/definitions/MeshRevisionProfile" + } }, - "name": { + "nextLink": { "type": "string", - "readOnly": true, - "description": "Name of role, name is unique under a source resource type" - }, - "rules": { + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "MeshRevisionProfileProperties": { + "type": "object", + "description": "Mesh revision profile properties for a mesh", + "properties": { + "meshRevisions": { "type": "array", - "readOnly": true, "items": { - "$ref": "#/definitions/TrustedAccessRoleRule" + "$ref": "#/definitions/MeshRevision" }, - "x-ms-identifiers": [], - "description": "List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole)." + "x-ms-identifiers": [] } } }, - "TrustedAccessRoleListResult": { + "MeshRevisionUpgradesType": { + "type": "string", + "description": "An upgradeable mesh revision" + }, + "MeshUpgradeProfile": { "type": "object", - "description": "List of trusted access roles", + "description": "Upgrade profile for given mesh.", + "properties": { + "properties": { + "$ref": "#/definitions/MeshUpgradeProfileProperties", + "description": "Mesh upgrade profile properties for a major.minor release." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "MeshUpgradeProfileList": { + "type": "object", + "description": "Holds an array of MeshUpgradeProfiles", "properties": { "value": { "type": "array", - "readOnly": true, + "description": "The MeshUpgradeProfile items on this page", "items": { - "$ref": "#/definitions/TrustedAccessRole" - }, - "x-ms-identifiers": [ - "sourceResourceType", - "name" - ], - "description": "Role list" + "$ref": "#/definitions/MeshUpgradeProfile" + } }, "nextLink": { - "description": "Link to next page of resources.", "type": "string", - "readOnly": true + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, - "TrustedAccessRoleBindingProperties": { + "MeshUpgradeProfileProperties": { "type": "object", - "description": "Properties for trusted access role binding", - "required": [ - "sourceResourceId", - "roles" + "description": "Mesh upgrade profile properties for a major.minor release.", + "allOf": [ + { + "$ref": "#/definitions/MeshRevision" + } + ] + }, + "Mode": { + "type": "string", + "description": "Specify which proxy mode to use ('IPTABLES', 'IPVS' or 'NFTABLES')", + "enum": [ + "IPTABLES", + "IPVS", + "NFTABLES" ], + "x-ms-enum": { + "name": "Mode", + "modelAsString": true, + "values": [ + { + "name": "IPTABLES", + "value": "IPTABLES", + "description": "IPTables proxy mode" + }, + { + "name": "IPVS", + "value": "IPVS", + "description": "IPVS proxy mode. Must be using Kubernetes version >= 1.22." + }, + { + "name": "NFTABLES", + "value": "NFTABLES", + "description": "NFTables proxy mode. Must be using Kubernetes version >= 1.33." + } + ] + } + }, + "NamespaceProperties": { + "type": "object", + "description": "Properties of a namespace managed by ARM", "properties": { "provisioningState": { - "type": "string", - "readOnly": true, - "description": "The current provisioning state of trusted access role binding.", - "enum": [ - "Canceled", - "Deleting", - "Failed", - "Succeeded", - "Updating" - ], - "x-ms-enum": { - "name": "TrustedAccessRoleBindingProvisioningState", - "modelAsString": true + "$ref": "#/definitions/NamespaceProvisioningState", + "description": "The current provisioning state of the namespace.", + "readOnly": true + }, + "labels": { + "type": "object", + "description": "The labels of managed namespace.", + "additionalProperties": { + "type": "string" } }, - "sourceResourceId": { + "annotations": { + "type": "object", + "description": "The annotations of managed namespace.", + "additionalProperties": { + "type": "string" + } + }, + "portalFqdn": { "type": "string", - "format": "arm-id", - "description": "The ARM resource ID of source resource that trusted access is configured for." + "description": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.", + "readOnly": true }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'." + "defaultResourceQuota": { + "$ref": "#/definitions/ResourceQuota", + "description": "The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied." + }, + "defaultNetworkPolicy": { + "$ref": "#/definitions/NetworkPolicies", + "description": "The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow." + }, + "adoptionPolicy": { + "$ref": "#/definitions/AdoptionPolicy", + "description": "Action if Kubernetes namespace with same name already exists." + }, + "deletePolicy": { + "$ref": "#/definitions/DeletePolicy", + "description": "Delete options of a namespace." } } }, - "TrustedAccessRoleBinding": { - "type": "object", - "description": "Defines binding between a resource and role", - "required": [ - "properties" - ], - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" - } + "NamespaceProvisioningState": { + "type": "string", + "description": "The current provisioning state of the namespace.", + "enum": [ + "Updating", + "Deleting", + "Creating", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "NamespaceProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Updating", + "value": "Updating" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Creating", + "value": "Creating" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Canceled", + "value": "Canceled" + } + ] + } + }, + "NetworkDataplane": { + "type": "string", + "description": "Network dataplane used in the Kubernetes cluster.", + "enum": [ + "azure", + "cilium" + ], + "x-ms-enum": { + "name": "NetworkDataplane", + "modelAsString": true, + "values": [ + { + "name": "azure", + "value": "azure", + "description": "Use Azure network dataplane." + }, + { + "name": "cilium", + "value": "cilium", + "description": "Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information." + } + ] + } + }, + "NetworkMode": { + "type": "string", + "description": "The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.", + "enum": [ + "transparent", + "bridge" ], - "properties": { - "properties": { - "$ref": "#/definitions/TrustedAccessRoleBindingProperties", - "x-ms-client-flatten": true - } + "x-ms-enum": { + "name": "NetworkMode", + "modelAsString": true, + "values": [ + { + "name": "transparent", + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "name": "bridge", + "value": "bridge", + "description": "This is no longer supported" + } + ] } }, - "TrustedAccessRoleBindingListResult": { - "type": "object", - "description": "List of trusted access role bindings", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedAccessRoleBinding" + "NetworkPlugin": { + "type": "string", + "description": "Network plugin used for building the Kubernetes network.", + "enum": [ + "azure", + "kubenet", + "none" + ], + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true, + "values": [ + { + "name": "azure", + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." }, - "description": "Role binding list" - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } + { + "name": "kubenet", + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + }, + { + "name": "none", + "value": "none", + "description": "No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information." + } + ] } }, - "ManagedClusterWorkloadAutoScalerProfile": { - "type": "object", - "description": "Workload Auto-scaler profile for the managed cluster.", - "properties": { - "keda": { - "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileKeda" - }, - "verticalPodAutoscaler": { - "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler" - } + "NetworkPluginMode": { + "type": "string", + "description": "The mode the network plugin should use.", + "enum": [ + "overlay" + ], + "x-ms-enum": { + "name": "NetworkPluginMode", + "modelAsString": true, + "values": [ + { + "name": "overlay", + "value": "overlay", + "description": "Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay." + } + ] } }, - "ManagedClusterWorkloadAutoScalerProfileKeda": { - "type": "object", - "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable KEDA." - } - }, - "required": [ - "enabled" - ] - }, - "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler": { + "NetworkPolicies": { "type": "object", + "description": "Default network policy of the namespace, specifying ingress and egress rules.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable VPA add-on in cluster. Default value is false.", - "default": false + "ingress": { + "type": "string", + "description": "Enum representing different network policy rules.", + "default": "AllowSameNamespace", + "enum": [ + "DenyAll", + "AllowAll", + "AllowSameNamespace" + ], + "x-ms-enum": { + "name": "PolicyRule", + "modelAsString": true, + "values": [ + { + "name": "DenyAll", + "value": "DenyAll", + "description": "Deny all network traffic." + }, + { + "name": "AllowAll", + "value": "AllowAll", + "description": "Allow all network traffic." + }, + { + "name": "AllowSameNamespace", + "value": "AllowSameNamespace", + "description": "Allow traffic within the same namespace." + } + ] + } }, - "addonAutoscaling": { + "egress": { "type": "string", + "description": "Enum representing different network policy rules.", + "default": "AllowAll", "enum": [ - "Enabled", - "Disabled" + "DenyAll", + "AllowAll", + "AllowSameNamespace" ], "x-ms-enum": { - "name": "AddonAutoscaling", + "name": "PolicyRule", "modelAsString": true, "values": [ { - "value": "Enabled", - "description": "Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial mode." + "name": "DenyAll", + "value": "DenyAll", + "description": "Deny all network traffic." }, { - "value": "Disabled", - "description": "Feature to autoscale AKS-managed add-ons is disabled." + "name": "AllowAll", + "value": "AllowAll", + "description": "Allow all network traffic." + }, + { + "name": "AllowSameNamespace", + "value": "AllowSameNamespace", + "description": "Allow traffic within the same namespace." } ] - }, - "description": "Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.", - "default": "Disabled" + } } - }, - "required": [ - "enabled" - ] + } }, - "ManagedClusterAzureMonitorProfile": { - "type": "object", - "description": "Prometheus addon profile for the container service cluster", - "properties": { - "metrics": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileMetrics" - }, - "containerInsights": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileContainerInsights" - }, - "appMonitoring": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoring" - } + "NetworkPolicy": { + "type": "string", + "description": "Network policy used for building the Kubernetes network.", + "enum": [ + "none", + "calico", + "azure", + "cilium" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "name": "none", + "value": "none", + "description": "Network policies will not be enforced. This is the default value when NetworkPolicy is not specified." + }, + { + "name": "calico", + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "name": "azure", + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "name": "cilium", + "value": "cilium", + "description": "Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'." + } + ] } }, - "ManagedClusterAzureMonitorProfileKubeStateMetrics": { + "NetworkProfileForSnapshot": { "type": "object", - "description": "Kube State Metrics for prometheus addon profile for the container service cluster", + "description": "network profile for managed cluster snapshot, these properties are read only.", "properties": { - "metricLabelsAllowlist": { - "type": "string", - "description": "Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. " + "networkPlugin": { + "$ref": "#/definitions/NetworkPlugin", + "description": "networkPlugin for managed cluster snapshot." }, - "metricAnnotationsAllowList": { - "type": "string", - "description": "Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric." + "networkPluginMode": { + "$ref": "#/definitions/NetworkPluginMode", + "description": "NetworkPluginMode for managed cluster snapshot." + }, + "networkPolicy": { + "$ref": "#/definitions/NetworkPolicy", + "description": "networkPolicy for managed cluster snapshot." + }, + "networkMode": { + "$ref": "#/definitions/NetworkMode", + "description": "networkMode for managed cluster snapshot." + }, + "loadBalancerSku": { + "$ref": "#/definitions/LoadBalancerSku", + "description": "loadBalancerSku for managed cluster snapshot." } } }, - "ManagedClusterAzureMonitorProfileMetrics": { - "type": "object", - "description": "Metrics profile for the prometheus service addon", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable the Prometheus collector" - }, - "kubeStateMetrics": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileKubeStateMetrics" - } - }, - "required": [ - "enabled" - ] + "NginxIngressControllerType": { + "type": "string", + "description": "Ingress type for the default NginxIngressController custom resource", + "enum": [ + "AnnotationControlled", + "External", + "Internal", + "None" + ], + "x-ms-enum": { + "name": "NginxIngressControllerType", + "modelAsString": true, + "values": [ + { + "name": "AnnotationControlled", + "value": "AnnotationControlled", + "description": "The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations." + }, + { + "name": "External", + "value": "External", + "description": "The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten." + }, + { + "name": "Internal", + "value": "Internal", + "description": "The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten." + }, + { + "name": "None", + "value": "None", + "description": "The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired." + } + ] + } }, - "ServiceMeshProfile": { + "NodeCustomizationProfile": { "type": "object", - "description": "Service mesh profile for a managed cluster.", + "description": "Settings to determine the node customization used to provision nodes in a pool.", "properties": { - "mode": { + "nodeCustomizationId": { "type": "string", - "description": "Mode of the service mesh.", - "enum": [ - "Istio", - "Disabled" - ], - "x-ms-enum": { - "name": "ServiceMeshMode", - "modelAsString": true, - "values": [ - { - "value": "Istio", - "description": "Istio deployed as an AKS addon." - }, + "format": "arm-id", + "description": "The resource ID of the node customization resource to use. This can be a version. Omitting the version will use the latest version of the node customization.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "Disabled", - "description": "Mesh is disabled." + "type": "Microsoft.ContainerService/nodeCustomizations" } ] } - }, - "istio": { - "$ref": "#/definitions/IstioServiceMesh" } - }, - "required": [ - "mode" - ] + } }, - "IstioServiceMesh": { + "NodeImageVersion": { "type": "object", - "description": "Istio service mesh configuration.", + "description": "node image version profile for given major.minor.patch release.", "properties": { - "components": { - "$ref": "#/definitions/IstioComponents" + "os": { + "type": "string", + "description": "The operating system of the node image. Example: AKSUbuntu" }, - "certificateAuthority": { - "$ref": "#/definitions/IstioCertificateAuthority" + "sku": { + "type": "string", + "description": "The SKU or flavor of the node image. Example: 2004gen2containerd" }, - "revisions": { - "type": "array", - "description": "The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade", - "items": { - "type": "string" - }, - "uniqueItems": true, - "maxItems": 2 + "version": { + "type": "string", + "description": "major.minor.patch version of the node image version release. Example: 2024.02.02" + }, + "fullName": { + "type": "string", + "description": "The OS + SKU + version of the node image. Example: AKSUbuntu-1804gen2containerd-2024.02.02" } } }, - "IstioComponents": { + "NodeImageVersionsListResult": { "type": "object", - "description": "Istio components configuration.", + "description": "Holds an array NodeImageVersions", "properties": { - "ingressGateways": { - "type": "array", - "description": "Istio ingress gateways.", - "items": { - "$ref": "#/definitions/IstioIngressGateway" - }, - "x-ms-identifiers": [] - }, - "egressGateways": { + "value": { "type": "array", - "description": "Istio egress gateways.", + "description": "The NodeImageVersion items on this page", "items": { - "$ref": "#/definitions/IstioEgressGateway" - }, - "x-ms-identifiers": [] + "$ref": "#/definitions/NodeImageVersion" + } }, - "proxyRedirectionMechanism": { + "nextLink": { "type": "string", - "description": "Mode of traffic redirection.", - "enum": [ - "InitContainers", - "CNIChaining" - ], - "x-ms-enum": { - "name": "ProxyRedirectionMechanism", - "modelAsString": true, - "values": [ - { - "value": "InitContainers", - "description": "Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW)." - }, - { - "value": "CNIChaining", - "description": "Istio will install a chained CNI plugin to redirect traffic (recommended)." - } - ] - } + "format": "uri", + "description": "The link to the next page of items" } + }, + "required": [ + "value" + ] + }, + "NodeOSUpgradeChannel": { + "type": "string", + "description": "Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.", + "enum": [ + "None", + "Unmanaged", + "NodeImage", + "SecurityPatch" + ], + "x-ms-enum": { + "name": "NodeOSUpgradeChannel", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates" + }, + { + "name": "Unmanaged", + "value": "Unmanaged", + "description": "OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice" + }, + { + "name": "NodeImage", + "value": "NodeImage", + "description": "AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images." + }, + { + "name": "SecurityPatch", + "value": "SecurityPatch", + "description": "AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption." + } + ] } }, - "IstioIngressGateway": { + "NodeProvisioningMode": { + "type": "string", + "description": "The node provisioning mode. If not specified, the default is Manual.", + "enum": [ + "Manual", + "Auto" + ], + "x-ms-enum": { + "name": "NodeProvisioningMode", + "modelAsString": true, + "values": [ + { + "name": "Manual", + "value": "Manual", + "description": "Nodes are provisioned manually by the user" + }, + { + "name": "Auto", + "value": "Auto", + "description": "Nodes are provisioned automatically by AKS using Karpenter (See aka.ms/aks/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details)." + } + ] + } + }, + "OSDiskType": { + "type": "string", + "description": "The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "name": "Managed", + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "name": "Ephemeral", + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] + } + }, + "OSSKU": { + "type": "string", + "description": "Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.", + "enum": [ + "Ubuntu", + "AzureLinux", + "AzureLinux3", + "Mariner", + "Flatcar", + "CBLMariner", + "Windows2019", + "Windows2022", + "Ubuntu2204", + "Windows2025", + "WindowsAnnual", + "Ubuntu2404" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true, + "values": [ + { + "name": "Ubuntu", + "value": "Ubuntu", + "description": "Use Ubuntu as the OS for node images." + }, + { + "name": "AzureLinux", + "value": "AzureLinux", + "description": "Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information." + }, + { + "name": "AzureLinux3", + "value": "AzureLinux3", + "description": "Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. For limitations, visit https://aka.ms/aks/node-images. For OS migration guidance, see https://aka.ms/aks/upgrade-os-version." + }, + { + "name": "Mariner", + "value": "Mariner", + "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." + }, + { + "name": "Flatcar", + "value": "Flatcar", + "description": "Use Flatcar Container Linux as the OS for node images. Flatcar is a container-optimized, security-focused Linux OS, with an immutable filesystem and part of the Cloud Native Computing Foundation (CNCF). For more information about Flatcar Container Linux for AKS, see aka.ms/aks/flatcar-container-linux-for-aks" + }, + { + "name": "CBLMariner", + "value": "CBLMariner", + "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." + }, + { + "name": "Windows2019", + "value": "Windows2019", + "description": "Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa." + }, + { + "name": "Windows2022", + "value": "Windows2022", + "description": "Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa." + }, + { + "name": "Ubuntu2204", + "value": "Ubuntu2204", + "description": "Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https://aka.ms/aks/supported-ubuntu-versions" + }, + { + "name": "Windows2025", + "value": "Windows2025", + "description": "Use Windows2025 as the OS for node images. Unsupported for system node pools. Windows2025 supports Windows2022 and Windows 2025 containers; it cannot run Windows2019 containers and vice versa." + }, + { + "name": "WindowsAnnual", + "value": "WindowsAnnual", + "description": "Use Windows Annual Channel version as the OS for node images. Unsupported for system node pools. Details about supported container images and kubernetes versions under different AKS Annual Channel versions could be seen in https://aka.ms/aks/windows-annual-channel-details." + }, + { + "name": "Ubuntu2404", + "value": "Ubuntu2404", + "description": "Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https://aka.ms/aks/supported-ubuntu-versions" + } + ] + } + }, + "OperationListResult": { "type": "object", - "description": "Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`.", + "description": "The List Operation response.", "properties": { - "mode": { - "type": "string", - "description": "Mode of an ingress gateway.", - "enum": [ - "External", - "Internal" - ], - "x-ms-enum": { - "name": "IstioIngressGatewayMode", - "modelAsString": true, - "values": [ - { - "value": "External", - "description": "The ingress gateway is assigned a public IP address and is publicly accessible." - }, - { - "value": "Internal", - "description": "The ingress gateway is assigned an internal IP address and cannot is accessed publicly." - } - ] + "value": { + "type": "array", + "description": "The list of operations", + "items": { + "$ref": "#/definitions/OperationValue" } }, - "enabled": { - "type": "boolean", - "description": "Whether to enable the ingress gateway." + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "mode", - "enabled" + "value" ] }, - "IstioCertificateAuthority": { + "OperationStatusResultList": { "type": "object", - "description": "Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca", + "description": "The operations list. It contains an URL link to get the next set of results.", "properties": { - "plugin": { - "$ref": "#/definitions/IstioPluginCertificateAuthority" + "value": { + "type": "array", + "description": "The OperationStatusResult items on this page", + "items": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationStatusResult" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, - "IstioPluginCertificateAuthority": { + "OperationValue": { "type": "object", - "description": "Plugin certificates information for Service Mesh.", + "description": "Describes the properties of a Operation value.", "properties": { - "keyVaultId": { + "origin": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.KeyVault/vaults" - } - ] - }, - "description": "The resource ID of the Key Vault." + "description": "The origin of the operation.", + "readOnly": true }, - "certObjectName": { + "name": { + "type": "string", + "description": "The name of the operation.", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display.", + "x-ms-client-flatten": true + } + } + }, + "OperationValueDisplay": { + "type": "object", + "description": "Describes the properties of a Operation Value Display.", + "properties": { + "operation": { "type": "string", - "description": "Intermediate certificate object name in Azure Key Vault." + "description": "The display name of the operation.", + "readOnly": true }, - "keyObjectName": { + "resource": { "type": "string", - "description": "Intermediate certificate private key object name in Azure Key Vault." + "description": "The display name of the resource the operation applies to.", + "readOnly": true }, - "rootCertObjectName": { + "description": { "type": "string", - "description": "Root certificate object name in Azure Key Vault." + "description": "The description of the operation.", + "readOnly": true }, - "certChainObjectName": { + "provider": { "type": "string", - "description": "Certificate chain object name in Azure Key Vault." + "description": "The resource provider for the operation.", + "readOnly": true } } }, - "IstioEgressGateway": { + "Operator": { + "type": "string", + "description": "operator represents a key's relationship to a set of values. Valid operators are In and NotIn", + "enum": [ + "In", + "NotIn", + "Exists", + "DoesNotExist" + ], + "x-ms-enum": { + "name": "Operator", + "modelAsString": true, + "values": [ + { + "name": "In", + "value": "In", + "description": "The value of the key should be in the given list." + }, + { + "name": "NotIn", + "value": "NotIn", + "description": "The value of the key should not be in the given list." + }, + { + "name": "Exists", + "value": "Exists", + "description": "The value of the key should exist." + }, + { + "name": "DoesNotExist", + "value": "DoesNotExist", + "description": "The value of the key should not exist." + } + ] + } + }, + "OutboundEnvironmentEndpoint": { "type": "object", - "description": "Istio egress gateway configuration.", + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable the egress gateway." - }, - "name": { - "type": "string", - "description": "Name of the Istio add-on egress gateway.", - "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*" - }, - "namespace": { + "category": { "type": "string", - "description": "Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress." + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc." }, - "gatewayConfigurationName": { - "type": "string", - "description": "Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in." + "endpoints": { + "type": "array", + "description": "The endpoints that AKS agent nodes connect to", + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [] } - }, - "required": [ - "enabled", - "name" - ] + } }, - "MeshRevisionProfileList": { + "OutboundEnvironmentEndpointCollection": { "type": "object", - "description": "Holds an array of MeshRevisionsProfiles", + "description": "Collection of OutboundEnvironmentEndpoint", "properties": { "value": { "type": "array", - "x-ms-identifiers": [], + "description": "The OutboundEnvironmentEndpoint items on this page", "items": { - "$ref": "#/definitions/MeshRevisionProfile" - }, - "description": "Array of service mesh add-on revision profiles for all supported mesh modes." + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } }, "nextLink": { "type": "string", - "description": "The URL to get the next set of mesh revision profile.", - "readOnly": true + "format": "uri", + "description": "The link to the next page of items" } + }, + "required": [ + "value" + ] + }, + "PodIPAllocationMode": { + "type": "string", + "description": "Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.", + "enum": [ + "DynamicIndividual", + "StaticBlock" + ], + "x-ms-enum": { + "name": "PodIPAllocationMode", + "modelAsString": true, + "values": [ + { + "name": "DynamicIndividual", + "value": "DynamicIndividual", + "description": "Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode" + }, + { + "name": "StaticBlock", + "value": "StaticBlock", + "description": "Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger" + } + ] } }, - "MeshRevisionProfile": { - "type": "object", - "description": "Mesh revision profile for a mesh.", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } + "PodLinkLocalAccess": { + "type": "string", + "description": "Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods with hostNetwork=false. If not specified, the default is 'IMDS'.", + "enum": [ + "IMDS", + "None" ], + "x-ms-enum": { + "name": "PodLinkLocalAccess", + "modelAsString": true, + "values": [ + { + "name": "IMDS", + "value": "IMDS", + "description": "Pods with hostNetwork=false can access Azure Instance Metadata Service (IMDS) without restriction." + }, + { + "name": "None", + "value": "None", + "description": "Pods with hostNetwork=false cannot access Azure Instance Metadata Service (IMDS)." + } + ] + } + }, + "PortRange": { + "type": "object", + "description": "The port range.", "properties": { - "properties": { - "$ref": "#/definitions/MeshRevisionProfileProperties" + "portStart": { + "type": "integer", + "format": "int32", + "description": "The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd.", + "minimum": 1, + "maximum": 65535 + }, + "portEnd": { + "type": "integer", + "format": "int32", + "description": "The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart.", + "minimum": 1, + "maximum": 65535 + }, + "protocol": { + "$ref": "#/definitions/Protocol", + "description": "The network protocol of the port." } } }, - "MeshRevisionProfileProperties": { + "PowerState": { "type": "object", - "description": "Mesh revision profile properties for a mesh", + "description": "Describes the Power State of the cluster", "properties": { - "meshRevisions": { - "type": "array", - "x-ms-identifiers": [], - "items": { - "$ref": "#/definitions/MeshRevision" - } + "code": { + "$ref": "#/definitions/Code", + "description": "Tells whether the cluster is Running or Stopped" } } }, - "MeshUpgradeProfileList": { + "PrivateEndpoint": { "type": "object", - "description": "Holds an array of MeshUpgradeProfiles", + "description": "Private endpoint which a connection belongs to.", "properties": { - "value": { - "type": "array", - "x-ms-identifiers": [], - "items": { - "$ref": "#/definitions/MeshUpgradeProfile" - }, - "description": "Array of supported service mesh add-on upgrade profiles." - }, - "nextLink": { + "id": { "type": "string", - "description": "The URL to get the next set of mesh upgrade profile.", - "readOnly": true + "description": "The resource ID of the private endpoint" } } }, - "MeshUpgradeProfile": { + "PrivateEndpointConnection": { "type": "object", - "description": "Upgrade profile for given mesh.", + "description": "A private endpoint connection", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } - ], + ] + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", "properties": { - "properties": { - "$ref": "#/definitions/MeshUpgradeProfileProperties" + "value": { + "type": "array", + "description": "The collection value.", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } } } }, - "MeshUpgradeProfileProperties": { + "PrivateEndpointConnectionProperties": { "type": "object", - "description": "Mesh upgrade profile properties for a major.minor release.", - "allOf": [ - { - "$ref": "#/definitions/MeshRevision" + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The current provisioning state.", + "readOnly": true + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." } + }, + "required": [ + "privateLinkServiceConnectionState" ] }, - "MeshRevision": { + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "description": "The current provisioning state.", + "enum": [ + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Canceled", + "value": "Canceled" + }, + { + "name": "Creating", + "value": "Creating" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Succeeded", + "value": "Succeeded" + } + ] + } + }, + "PrivateLinkResource": { "type": "object", - "description": "Holds information on upgrades and compatibility for given major.minor mesh release.", + "description": "A private link resource", "properties": { - "revision": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { "type": "string", - "description": "The revision of the mesh release." + "description": "The resource type." }, - "upgrades": { + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { "type": "array", - "description": "List of revisions available for upgrade of a specific mesh revision", + "description": "The RequiredMembers of the resource", "items": { - "type": "string", - "description": "An upgradeable mesh revision" + "type": "string" } }, - "compatibleWith": { - "type": "array", - "description": "List of items this revision of service mesh is compatible with, and their associated versions.", - "items": { - "$ref": "#/definitions/CompatibleVersions" - }, - "x-ms-identifiers": [] + "privateLinkServiceID": { + "type": "string", + "format": "arm-id", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally.", + "readOnly": true } } }, - "CompatibleVersions": { + "PrivateLinkResourcesListResult": { "type": "object", - "description": "Version information about a product/service that is compatible with a service mesh revision.", + "description": "A list of private link resources", "properties": { - "name": { - "type": "string", - "description": "The product/service name." - }, - "versions": { + "value": { "type": "array", - "description": "Product/service versions compatible with a service mesh add-on revision.", + "description": "The collection value.", "items": { - "type": "string", - "description": "A compatible product/service version." + "$ref": "#/definitions/PrivateLinkResource" } } } }, - "KubernetesSupportPlan": { + "PrivateLinkServiceConnectionState": { + "type": "object", + "description": "The state of a private link service connection.", + "properties": { + "status": { + "$ref": "#/definitions/ConnectionStatus", + "description": "The private link service connection status." + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "Protocol": { "type": "string", - "description": "Different support tiers for AKS managed clusters", + "description": "The network protocol of the port.", "enum": [ - "KubernetesOfficial", - "AKSLongTermSupport" + "TCP", + "UDP" ], "x-ms-enum": { - "name": "KubernetesSupportPlan", + "name": "Protocol", "modelAsString": true, "values": [ { - "value": "KubernetesOfficial", - "description": "Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release." + "name": "TCP", + "value": "TCP", + "description": "TCP protocol." }, { - "value": "AKSLongTermSupport", - "description": "Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support." + "name": "UDP", + "value": "UDP", + "description": "UDP protocol." } ] } }, - "KubernetesVersionCapabilities": { + "ProxyRedirectionMechanism": { + "type": "string", + "description": "Mode of traffic redirection.", + "enum": [ + "InitContainers", + "CNIChaining" + ], + "x-ms-enum": { + "name": "ProxyRedirectionMechanism", + "modelAsString": true, + "values": [ + { + "name": "InitContainers", + "value": "InitContainers", + "description": "Istio will inject an init container into each pod to redirect traffic (requires NET_ADMIN and NET_RAW)." + }, + { + "name": "CNIChaining", + "value": "CNIChaining", + "description": "Istio will install a chained CNI plugin to redirect traffic (recommended)." + } + ] + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS", + "enum": [ + "Enabled", + "Disabled", + "SecuredByPerimeter" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Inbound/Outbound to the managedCluster is allowed." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed." + }, + { + "name": "SecuredByPerimeter", + "value": "SecuredByPerimeter", + "description": "Inbound/Outbound traffic is managed by Microsoft.Network/NetworkSecurityPerimeters." + } + ] + } + }, + "RebalanceLoadBalancersRequestBody": { "type": "object", - "description": "Capabilities on this Kubernetes version.", + "description": "The names of the load balancers to rebalance. If set to empty, all load balancers will be rebalanced.", "properties": { - "supportPlan": { + "loadBalancerNames": { "type": "array", - "x-ms-identifiers": [], + "description": "The load balancer names list.", "items": { - "$ref": "#/definitions/KubernetesSupportPlan" + "type": "string" } } } }, - "KubernetesPatchVersion": { + "RelativeMonthlySchedule": { "type": "object", - "description": "Kubernetes patch version profile", + "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'.", "properties": { - "upgrades": { - "type": "array", - "description": "Possible upgrade path for given patch version", - "x-ms-identifiers": [], - "items": { - "type": "string" - } + "intervalMonths": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of months between each set of occurrences.", + "minimum": 1, + "maximum": 6 + }, + "weekIndex": { + "$ref": "#/definitions/Type", + "description": "The week index. Specifies on which week of the month the dayOfWeek applies." + }, + "dayOfWeek": { + "$ref": "#/definitions/WeekDay", + "description": "Specifies on which day of the week the maintenance occurs." } + }, + "required": [ + "intervalMonths", + "weekIndex", + "dayOfWeek" + ] + }, + "ResourceIdentityType": { + "type": "string", + "description": "The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "name": "SystemAssigned", + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "name": "UserAssigned", + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "name": "None", + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] } }, - "KubernetesVersion": { + "ResourceQuota": { "type": "object", - "description": "Kubernetes version profile for given major.minor release.", + "description": "Resource quota for the namespace.", "properties": { - "version": { + "cpuRequest": { "type": "string", - "description": "major.minor version of Kubernetes release" - }, - "capabilities": { - "$ref": "#/definitions/KubernetesVersionCapabilities", - "description": "Capabilities on this Kubernetes version." + "description": "CPU request of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details." }, - "isDefault": { - "type": "boolean", - "description": "Whether this version is default." + "cpuLimit": { + "type": "string", + "description": "CPU limit of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details." }, - "isPreview": { - "type": "boolean", - "description": "Whether this version is in preview mode." + "memoryRequest": { + "type": "string", + "description": "Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details." }, - "patchVersions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KubernetesPatchVersion" - }, - "description": "Patch versions of Kubernetes release" + "memoryLimit": { + "type": "string", + "description": "Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details." } } }, - "KubernetesVersionListResult": { + "ResourceReference": { "type": "object", - "description": "Hold values properties, which is array of KubernetesVersion", + "description": "A reference to an Azure resource.", "properties": { - "values": { - "type": "array", - "x-ms-identifiers": [], - "items": { - "$ref": "#/definitions/KubernetesVersion" - }, - "description": "Array of AKS supported Kubernetes versions." + "id": { + "type": "string", + "format": "arm-id", + "description": "The fully qualified Azure resource id." } } }, - "ManagedClusterAzureMonitorProfileContainerInsights": { + "RestrictionLevel": { + "type": "string", + "description": "The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'", + "enum": [ + "Unrestricted", + "ReadOnly" + ], + "x-ms-enum": { + "name": "RestrictionLevel", + "modelAsString": true, + "values": [ + { + "name": "Unrestricted", + "value": "Unrestricted", + "description": "All RBAC permissions are allowed on the managed node resource group" + }, + { + "name": "ReadOnly", + "value": "ReadOnly", + "description": "Only \\*\\/read RBAC permissions allowed on the managed node resource group" + } + ] + } + }, + "RunCommandRequest": { "type": "object", - "description": "Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview.", + "description": "A run command request", "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if Azure Monitor Container Insights Logs Addon is enabled or not." - }, - "logAnalyticsWorkspaceResourceId": { + "command": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.OperationalInsights/workspaces" - } - ] - }, - "description": "Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure Monitor Container Insights Logs." + "description": "The command to run." }, - "syslogPort": { - "type": "integer", - "format": "int64", - "description": "The syslog host port. If not specified, the default port is 28330." + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." }, - "disableCustomMetrics": { - "type": "boolean", - "description": "Indicates whether custom metrics collection has to be disabled or not. If not specified the default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is false" + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "required": [ + "command" + ] + }, + "RunCommandResult": { + "type": "object", + "description": "run command result.", + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true }, - "disablePrometheusMetricsScraping": { - "type": "boolean", - "description": "Indicates whether prometheus metrics scraping is disabled or not. If not specified the default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field is false" + "properties": { + "$ref": "#/definitions/CommandResultProperties", + "description": "Properties of command result.", + "x-ms-client-flatten": true + } + } + }, + "SafeguardsAvailableVersion": { + "type": "object", + "description": "Available Safeguards Version", + "properties": { + "properties": { + "$ref": "#/definitions/SafeguardsAvailableVersionsProperties", + "description": "Whether the version is default or not and support info." } - } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "ManagedClusterAzureMonitorProfileAppMonitoring": { + "SafeguardsAvailableVersionsList": { "type": "object", - "description": "Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.", + "description": "Hold values properties, which is array of SafeguardsVersions", "properties": { - "autoInstrumentation": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation" - }, - "openTelemetryMetrics": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics" + "value": { + "type": "array", + "description": "The SafeguardsAvailableVersion items on this page", + "items": { + "$ref": "#/definitions/SafeguardsAvailableVersion" + } }, - "openTelemetryLogs": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs" + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, - "ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation": { + "SafeguardsAvailableVersionsProperties": { "type": "object", - "description": "Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See aka.ms/AzureMonitorApplicationMonitoring for an overview.", + "description": "Whether the version is default or not and support info.", "properties": { - "enabled": { + "isDefaultVersion": { "type": "boolean", - "description": "Indicates if Application Monitoring Auto Instrumentation is enabled or not." + "readOnly": true + }, + "support": { + "$ref": "#/definitions/SafeguardsSupport", + "description": "Whether the version is preview or stable.", + "readOnly": true } } }, - "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics": { + "SafeguardsSupport": { + "type": "string", + "description": "Whether the version is preview or stable.", + "enum": [ + "Preview", + "Stable" + ], + "x-ms-enum": { + "name": "SafeguardsSupport", + "modelAsString": true, + "values": [ + { + "name": "Preview", + "value": "Preview", + "description": "The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases." + }, + { + "name": "Stable", + "value": "Stable", + "description": "The version is stable and can be used on critical production clusters." + } + ] + } + }, + "ScaleDownMode": { + "type": "string", + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing).", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "name": "Delete", + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "name": "Deallocate", + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + } + ] + } + }, + "ScaleProfile": { "type": "object", - "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.", + "description": "Specifications on how to scale a VirtualMachines agent pool.", "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if Application Monitoring Open Telemetry Metrics is enabled or not." + "manual": { + "type": "array", + "description": "Specifications on how to scale the VirtualMachines agent pool to a fixed size.", + "items": { + "$ref": "#/definitions/ManualScaleProfile" + }, + "x-ms-identifiers": [] }, - "port": { - "type": "integer", - "format": "int64", - "description": "The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333." + "autoscale": { + "$ref": "#/definitions/AutoScaleProfile", + "description": "Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range." } } }, - "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs": { + "Schedule": { "type": "object", - "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.", + "description": "One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule.", "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not." + "daily": { + "$ref": "#/definitions/DailySchedule", + "description": "For schedules like: 'recur every day' or 'recur every 3 days'." }, - "port": { - "type": "integer", - "format": "int64", - "description": "The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331." + "weekly": { + "$ref": "#/definitions/WeeklySchedule", + "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'." + }, + "absoluteMonthly": { + "$ref": "#/definitions/AbsoluteMonthlySchedule", + "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'." + }, + "relativeMonthly": { + "$ref": "#/definitions/RelativeMonthlySchedule", + "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'." } } }, - "ManagedClusterMetricsProfile": { + "SchedulerConfigMode": { + "type": "string", + "description": "The config customization mode for this scheduler instance.", + "enum": [ + "Default", + "ManagedByCRD" + ], + "x-ms-enum": { + "name": "SchedulerConfigMode", + "modelAsString": true, + "values": [ + { + "name": "Default", + "value": "Default", + "description": "No config customization. Use default configuration." + }, + { + "name": "ManagedByCRD", + "value": "ManagedByCRD", + "description": "Enable config customization. Customer can specify scheduler configuration via a CRD. See aka.ms/aks/scheduler-crd for details." + } + ] + } + }, + "SchedulerInstanceProfile": { "type": "object", - "description": "The metrics profile for the ManagedCluster.", + "description": "The scheduler profile for a single scheduler instance.", "properties": { - "costAnalysis": { - "$ref": "#/definitions/ManagedClusterCostAnalysis", - "description": "The configuration for detailed per-Kubernetes resource cost analysis." + "schedulerConfigMode": { + "$ref": "#/definitions/SchedulerConfigMode", + "description": "The config customization mode for this scheduler instance." } } }, - "ManagedClusterCostAnalysis": { + "SchedulerProfile": { "type": "object", - "description": "The cost analysis configuration for the cluster", + "description": "The pod scheduler profile for the cluster.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis." + "schedulerInstanceProfiles": { + "$ref": "#/definitions/SchedulerProfileSchedulerInstanceProfiles", + "description": "Mapping of each scheduler instance to its profile." } } }, - "ManagedClusterAIToolchainOperatorProfile": { + "SchedulerProfileSchedulerInstanceProfiles": { "type": "object", - "description": "When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them.", + "description": "Mapping of each scheduler instance to its profile.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not." + "upstream": { + "$ref": "#/definitions/SchedulerInstanceProfile", + "description": "The scheduler profile for the upstream scheduler instance." } } }, - "ManagedClusterNodeProvisioningProfile": { - "type": "object", - "properties": { - "mode": { - "type": "string", - "enum": [ - "Manual", - "Auto" - ], - "x-ms-enum": { - "name": "NodeProvisioningMode", - "modelAsString": true, - "values": [ - { - "value": "Manual", - "description": "Nodes are provisioned manually by the user" - }, - { - "value": "Auto", - "description": "Nodes are provisioned automatically by AKS using Karpenter (See aka.ms/aks/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details)." - } - ] + "SeccompDefault": { + "type": "string", + "description": "Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' will be used by default.", + "enum": [ + "Unconfined", + "RuntimeDefault" + ], + "x-ms-enum": { + "name": "SeccompDefault", + "modelAsString": true, + "values": [ + { + "name": "Unconfined", + "value": "Unconfined", + "description": "No seccomp profile is applied, allowing all system calls." }, - "description": "The node provisioning mode. If not specified, the default is Manual." - }, - "defaultNodePools": { - "enum": [ - "None", - "Auto" - ], - "description": "The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.", - "default": "Auto", - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "NodeProvisioningDefaultNodePools", - "values": [ - { - "description": "No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances.", - "value": "None" - }, - { - "description": "A standard set of Karpenter NodePools are provisioned", - "value": "Auto" - } - ] + { + "name": "RuntimeDefault", + "value": "RuntimeDefault", + "description": "The default seccomp profile for container runtime is applied, which restricts certain system calls for enhanced security." } - } + ] } }, - "ManagedClusterBootstrapProfile": { - "description": "The bootstrap profile.", - "properties": { - "artifactSource": { - "type": "string", - "enum": [ - "Direct", - "Cache" - ], - "x-ms-enum": { - "name": "ArtifactSource", - "modelAsString": true, - "values": [ - { - "value": "Cache", - "description": "pull images from Azure Container Registry with cache" - }, - { - "value": "Direct", - "description": "pull images from Microsoft Artifact Registry" - } - ] - }, - "default": "Direct", - "description": "The artifact source. The source where the artifacts are downloaded from." - }, - "containerRegistryId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.ContainerRegistry/registries" - } - ] + "ServiceMeshMode": { + "type": "string", + "description": "Mode of the service mesh.", + "enum": [ + "Istio", + "Disabled" + ], + "x-ms-enum": { + "name": "ServiceMeshMode", + "modelAsString": true, + "values": [ + { + "name": "Istio", + "value": "Istio", + "description": "Istio deployed as an AKS addon." }, - "description": "The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy." - } - }, - "type": "object" - }, - "ManagedClusterHostedSystemProfile": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable hosted system addons for the cluster." - } - }, - "description": "Settings for hosted system addons." + { + "name": "Disabled", + "value": "Disabled", + "description": "Mesh is disabled." + } + ] + } }, - "AgentPoolDeleteMachinesParameter": { + "ServiceMeshProfile": { "type": "object", + "description": "Service mesh profile for a managed cluster.", "properties": { - "machineNames": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The agent pool machine names." + "mode": { + "$ref": "#/definitions/ServiceMeshMode", + "description": "Mode of the service mesh." + }, + "istio": { + "$ref": "#/definitions/IstioServiceMesh", + "description": "Istio service mesh configuration." } }, "required": [ - "machineNames" - ], - "description": "Specifies a list of machine names from the agent pool to be deleted." + "mode" + ] }, - "OperationStatusResultList": { - "description": "The operations list. It contains an URL link to get the next set of results.", + "Snapshot": { "type": "object", + "description": "A node pool snapshot resource.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationStatusResult" - }, - "x-ms-identifiers": [ - "name" - ], - "description": "List of operations", - "readOnly": true - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "URL to get the next set of operation list results (if there are any).", - "readOnly": true + "properties": { + "$ref": "#/definitions/SnapshotProperties", + "description": "Properties of a snapshot.", + "x-ms-client-flatten": true } - } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" + } + ] }, - "LoadBalancerListResult": { + "SnapshotListResult": { "type": "object", + "description": "The response of a Snapshot list operation.", "properties": { "value": { "type": "array", + "description": "The Snapshot items on this page", "items": { - "$ref": "#/definitions/LoadBalancer" - }, - "description": "The list of Load Balancers." + "$ref": "#/definitions/Snapshot" + } }, "nextLink": { "type": "string", - "description": "The URL to get the next set of load balancer results.", - "readOnly": true - } - }, - "description": "The response from the List Load Balancers operation." - }, - "LoadBalancer": { - "type": "object", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/LoadBalancerProperties", - "description": "The properties of the load balancer.", - "x-ms-client-flatten": true + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "name" - ], - "description": "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 `-internal`. The internal lb shares the same configurations as the external one. The internal lbs are not needed to be included in LoadBalancer list." + "value" + ] }, - "LoadBalancerProperties": { + "SnapshotProperties": { "type": "object", + "description": "Properties used to configure a node pool snapshot.", "properties": { - "primaryAgentPoolName": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { "type": "string", - "description": "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." + "description": "The type of a snapshot. The default is NodePool.", + "default": "NodePool", + "enum": [ + "NodePool", + "ManagedCluster" + ], + "x-ms-enum": { + "name": "SnapshotType", + "modelAsString": true, + "values": [ + { + "name": "NodePool", + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." + }, + { + "name": "ManagedCluster", + "value": "ManagedCluster", + "description": "The snapshot is a snapshot of a managed cluster." + } + ] + } }, - "allowServicePlacement": { - "type": "boolean", - "description": "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." + "kubernetesVersion": { + "type": "string", + "description": "The version of Kubernetes.", + "readOnly": true }, - "serviceLabelSelector": { - "$ref": "#/definitions/LabelSelector", - "description": "Only services that must match this selector can be placed on this load balancer." + "nodeImageVersion": { + "type": "string", + "description": "The version of node image.", + "readOnly": true }, - "serviceNamespaceSelector": { - "$ref": "#/definitions/LabelSelector", - "description": "Services created in namespaces that match the selector can be placed on this load balancer." + "osType": { + "type": "string", + "description": "The operating system type. The default is Linux.", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true, + "values": [ + { + "name": "Linux", + "value": "Linux", + "description": "Use Linux." + }, + { + "name": "Windows", + "value": "Windows", + "description": "Use Windows." + } + ] + }, + "readOnly": true }, - "nodeSelector": { - "$ref": "#/definitions/LabelSelector", - "description": "Nodes that match this selector will be possible members of this load balancer." + "osSku": { + "$ref": "#/definitions/OSSKU", + "description": "Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.", + "readOnly": true }, - "provisioningState": { - "readOnly": true, + "vmSize": { "type": "string", - "description": "The current provisioning state." + "description": "The size of the VM.", + "readOnly": true + }, + "enableFIPS": { + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS.", + "readOnly": true } - }, - "required": [ - "primaryAgentPoolName" - ] + } }, - "LabelSelector": { + "SysctlConfig": { "type": "object", - "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", + "description": "Sysctl settings for Linux agent nodes.", "properties": { - "matchLabels": { - "type": "array", - "items": { - "type": "string" - }, - "description": "matchLabels is an array of {key=value} pairs. A single {key=value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is `key`, the operator is `In`, and the values array contains only `value`. The requirements are ANDed." + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl.", + "minimum": 10, + "maximum": 90 + }, + "netIpv4TcpTwReuse": { + "type": "boolean", + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_max.", + "minimum": 131072, + "maximum": 2097152 + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets.", + "minimum": 65536, + "maximum": 524288 + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." }, - "matchExpressions": { - "type": "array", - "items": { - "$ref": "#/definitions/LabelSelectorRequirement" - }, - "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed." + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." } } }, - "LabelSelectorRequirement": { + "TagsObject": { "type": "object", - "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", + "description": "Tags object for patch operations.", "properties": { - "key": { - "type": "string", - "description": "key is the label key that the selector applies to." - }, - "operator": { - "type": "string", - "enum": [ - "In", - "NotIn", - "Exists", - "DoesNotExist" - ], - "x-ms-enum": { - "name": "operator", - "modelAsString": true, - "values": [ - { - "value": "In", - "description": "The value of the key should be in the given list." - }, - { - "value": "NotIn", - "description": "The value of the key should not be in the given list." - }, - { - "value": "Exists", - "description": "The value of the key should exist." - }, - { - "value": "DoesNotExist", - "description": "The value of the key should not exist." - } - ] - }, - "description": "operator represents a key's relationship to a set of values. Valid operators are In and NotIn" - }, - "values": { - "type": "array", - "items": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { "type": "string" - }, - "description": "values is an array of string values, the values array must be non-empty." + } } } }, - "RebalanceLoadBalancersRequestBody": { + "TimeInWeek": { "type": "object", + "description": "Time in a week.", "properties": { - "loadBalancerNames": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { "type": "array", + "description": "A list of hours in the day used to identify a time range. Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range.", "items": { - "type": "string" - }, - "x-ms-identifiers": [], - "description": "The load balancer names list." + "$ref": "#/definitions/HourInDay" + } } - }, - "description": "The names of the load balancers to rebalance. If set to empty, all load balancers will be rebalanced." + } }, - "Component": { + "TimeSpan": { "type": "object", + "description": "A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z.", "properties": { - "name": { + "start": { "type": "string", - "description": "Component name." + "format": "date-time", + "description": "The start of a time span" }, - "version": { + "end": { "type": "string", - "description": "Component version." - }, - "hasBreakingChanges": { - "type": "boolean", - "description": "If upgraded component version contains breaking changes from the current version. To see a detailed description of what the breaking changes are, visit https://learn.microsoft.com/azure/aks/supported-kubernetes-versions?tabs=azure-cli#aks-components-breaking-changes-by-version." + "format": "date-time", + "description": "The end of a time span" } } }, - "ComponentsByRelease": { + "TransitEncryptionType": { + "type": "string", + "description": "Configures pod-to-pod encryption. This can be enabled only on Cilium-based clusters. If not specified, the default value is None.", + "enum": [ + "WireGuard", + "None" + ], + "x-ms-enum": { + "name": "TransitEncryptionType", + "modelAsString": true, + "values": [ + { + "name": "WireGuard", + "value": "WireGuard", + "description": "Enable WireGuard encryption. Refer to https://docs.cilium.io/en/latest/security/network/encryption-wireguard/ on use cases and implementation details" + }, + { + "name": "None", + "value": "None", + "description": "Disable Transit encryption" + } + ] + } + }, + "TrustedAccessRole": { "type": "object", + "description": "Trusted access role definition.", "properties": { - "kubernetesVersion": { + "sourceResourceType": { "type": "string", - "description": "The Kubernetes version (major.minor)." + "description": "Resource type of Azure resource", + "readOnly": true }, - "components": { + "name": { + "type": "string", + "description": "Name of role, name is unique under a source resource type", + "readOnly": true + }, + "rules": { "type": "array", + "description": "List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole).", "items": { - "$ref": "#/definitions/Component" - }, - "x-ms-identifiers": [], - "description": "components of current or upgraded Kubernetes version in the cluster." - } - }, - "description": "components of given Kubernetes version." - }, - "NodeImageVersionsListResult": { - "description": "Holds an array NodeImageVersions", - "properties": { - "value": { - "description": "Array of AKS Node Image versions.", - "items": { - "$ref": "#/definitions/NodeImageVersion" + "$ref": "#/definitions/TrustedAccessRoleRule" }, - "type": "array", - "x-ms-identifiers": [ - "fullName" - ] - }, - "nextLink": { - "description": "The URL to get the next set of machine results.", - "format": "uri", "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "NodeImageVersion": { - "description": "node image version profile for given major.minor.patch release.", - "properties": { - "os": { - "description": "The operating system of the node image. Example: AKSUbuntu", - "type": "string" - }, - "sku": { - "description": "The SKU or flavor of the node image. Example: 2004gen2containerd", - "type": "string" - }, - "version": { - "description": "major.minor.patch version of the node image version release. Example: 2024.02.02", - "type": "string" - }, - "fullName": { - "description": "The OS + SKU + version of the node image. Example: AKSUbuntu-1804gen2containerd-2024.02.02", - "type": "string" - } - }, - "type": "object" - }, - "SchedulerInstanceProfile": { - "description": "The scheduler profile for a single scheduler instance.", - "type": "object", - "properties": { - "schedulerConfigMode": { - "type": "string", - "description": "The config customization mode for this scheduler instance.", - "enum": [ - "Default", - "ManagedByCRD" - ], - "x-ms-enum": { - "name": "SchedulerConfigMode", - "modelAsString": true, - "values": [ - { - "value": "Default", - "description": "No config customization. Use default configuration." - }, - { - "value": "ManagedByCRD", - "description": "Enable config customization. Customer can specify scheduler configuration via a CRD. See aka.ms/aks/scheduler-crd for details." - } - ] - } - } - } - }, - "SchedulerProfile": { - "description": "The pod scheduler profile for the cluster.", - "type": "object", - "properties": { - "schedulerInstanceProfiles": { - "description": "Mapping of each scheduler instance to its profile.", - "type": "object", - "properties": { - "upstream": { - "$ref": "#/definitions/SchedulerInstanceProfile", - "description": "The scheduler profile for the upstream scheduler instance." - } - } + "x-ms-identifiers": [] } } }, - "IdentityBinding": { + "TrustedAccessRoleBinding": { "type": "object", - "description": "The IdentityBinding resource.", + "description": "Defines binding between a resource and role", "properties": { "properties": { - "$ref": "#/definitions/IdentityBindingProperties", - "description": "The resource-specific properties for this resource." - }, - "eTag": { - "type": "string", - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", - "readOnly": true + "$ref": "#/definitions/TrustedAccessRoleBindingProperties", + "description": "Properties for trusted access role binding", + "x-ms-client-flatten": true } }, + "required": [ + "properties" + ], "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ] - }, - "IdentityBindingListResult": { - "type": "object", - "description": "The response of a IdentityBinding list operation.", - "properties": { - "value": { - "type": "array", - "description": "The IdentityBinding items on this page", - "items": { - "$ref": "#/definitions/IdentityBinding" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, - "IdentityBindingManagedIdentityProfile": { - "type": "object", - "description": "Managed identity profile for the identity binding.", - "properties": { - "resourceId": { - "type": "string", - "format": "arm-id", - "description": "The resource ID of the managed identity.", - "pattern": "^/subscriptions/[a-zA-Z0-9-]+/resourceGroups/[a-zA-Z0-9-]+/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[a-zA-Z0-9-]+$", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "objectId": { - "type": "string", - "description": "The object ID of the managed identity.", - "minLength": 36, - "maxLength": 36, - "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", - "readOnly": true - }, - "clientId": { - "type": "string", - "description": "The client ID of the managed identity.", - "minLength": 36, - "maxLength": 36, - "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", - "readOnly": true - }, - "tenantId": { - "type": "string", - "description": "The tenant ID of the managed identity.", - "minLength": 36, - "maxLength": 36, - "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", - "readOnly": true + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } - }, - "required": [ - "resourceId" ] }, - "IdentityBindingOidcIssuerProfile": { + "TrustedAccessRoleBindingListResult": { "type": "object", - "description": "IdentityBinding OIDC issuer profile.", + "description": "The response of a TrustedAccessRoleBinding list operation.", "properties": { - "oidcIssuerUrl": { + "value": { + "type": "array", + "description": "The TrustedAccessRoleBinding items on this page", + "items": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + } + }, + "nextLink": { "type": "string", "format": "uri", - "description": "The OIDC issuer URL of the IdentityBinding.", - "readOnly": true + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, - "IdentityBindingProperties": { + "TrustedAccessRoleBindingProperties": { "type": "object", - "description": "IdentityBinding properties.", + "description": "Properties for trusted access role binding", "properties": { - "managedIdentity": { - "$ref": "#/definitions/IdentityBindingManagedIdentityProfile", - "description": "Managed identity profile for the identity binding.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "oidcIssuer": { - "$ref": "#/definitions/IdentityBindingOidcIssuerProfile", - "description": "The OIDC issuer URL of the IdentityBinding.", - "readOnly": true - }, "provisioningState": { - "$ref": "#/definitions/IdentityBindingProvisioningState", - "description": "The status of the last operation.", + "$ref": "#/definitions/TrustedAccessRoleBindingProvisioningState", + "description": "The current provisioning state of trusted access role binding.", "readOnly": true + }, + "sourceResourceId": { + "type": "string", + "format": "arm-id", + "description": "The ARM resource ID of source resource that trusted access is configured for." + }, + "roles": { + "type": "array", + "description": "A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'.", + "items": { + "type": "string" + } } }, "required": [ - "managedIdentity" + "sourceResourceId", + "roles" ] }, - "IdentityBindingProvisioningState": { + "TrustedAccessRoleBindingProvisioningState": { "type": "string", - "description": "The provisioning state of the last accepted operation.", + "description": "The current provisioning state of trusted access role binding.", "enum": [ - "Succeeded", - "Failed", "Canceled", - "Creating", - "Updating", - "Deleting" + "Deleting", + "Failed", + "Succeeded", + "Updating" ], "x-ms-enum": { - "name": "IdentityBindingProvisioningState", + "name": "TrustedAccessRoleBindingProvisioningState", "modelAsString": true, "values": [ { - "name": "Succeeded", - "value": "Succeeded", - "description": "Resource has been created." + "name": "Canceled", + "value": "Canceled" }, { - "name": "Failed", - "value": "Failed", - "description": "Resource creation failed." + "name": "Deleting", + "value": "Deleting" }, { - "name": "Canceled", - "value": "Canceled", - "description": "Resource creation was canceled." + "name": "Failed", + "value": "Failed" }, { - "name": "Creating", - "value": "Creating", - "description": "The identity binding is being created." + "name": "Succeeded", + "value": "Succeeded" }, { "name": "Updating", - "value": "Updating", - "description": "The identity binding is being updated." - }, - { - "name": "Deleting", - "value": "Deleting", - "description": "The identity binding is being deleted." + "value": "Updating" } ] - }, - "readOnly": true - }, - "JWTAuthenticator": { - "type": "object", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/JWTAuthenticatorProperties" - } - }, - "description": "Configuration for JWT authenticator in the managed cluster.", - "required": [ - "properties" - ] + } }, - "JWTAuthenticatorListResult": { + "TrustedAccessRoleListResult": { "type": "object", + "description": "List of trusted access roles", "properties": { "value": { "type": "array", + "description": "The TrustedAccessRole items on this page", "items": { - "$ref": "#/definitions/JWTAuthenticator" - }, - "description": "The list of JWT authenticators." + "$ref": "#/definitions/TrustedAccessRole" + } }, "nextLink": { "type": "string", - "description": "The URL to get the next set of JWT authenticator results.", - "readOnly": true + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "The response from the List JWT authenticator operation.", "required": [ "value" ] }, - "JWTAuthenticatorProperties": { + "TrustedAccessRoleRule": { "type": "object", + "description": "Rule for trusted access role", "properties": { - "provisioningState": { - "$ref": "#/definitions/JWTAuthenticatorProvisioningState", - "readOnly": true, - "description": "The current provisioning state of the JWT authenticator." + "verbs": { + "type": "array", + "description": "List of allowed verbs", + "items": { + "type": "string" + }, + "readOnly": true }, - "issuer": { - "$ref": "#/definitions/JWTAuthenticatorIssuer", - "description": "The JWT OIDC issuer details." + "apiGroups": { + "type": "array", + "description": "List of allowed apiGroups", + "items": { + "type": "string" + }, + "readOnly": true }, - "claimValidationRules": { + "resources": { "type": "array", + "description": "List of allowed resources", "items": { - "$ref": "#/definitions/JWTAuthenticatorValidationRule" + "type": "string" }, - "description": "The rules that are applied to validate token claims to authenticate users. All the expressions must evaluate to true for validation to succeed." + "readOnly": true }, - "claimMappings": { - "$ref": "#/definitions/JWTAuthenticatorClaimMappings", - "description": "The mappings that define how user attributes are extracted from the token claims." + "resourceNames": { + "type": "array", + "description": "List of allowed names", + "items": { + "type": "string" + }, + "readOnly": true }, - "userValidationRules": { + "nonResourceURLs": { "type": "array", + "description": "List of allowed nonResourceURLs", "items": { - "$ref": "#/definitions/JWTAuthenticatorValidationRule" + "type": "string" }, - "description": "The rules that are applied to the mapped user before completing authentication. All the expressions must evaluate to true for validation to succeed." + "readOnly": true } - }, - "description": "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.", - "required": [ - "issuer", - "claimMappings" - ] + } }, - "JWTAuthenticatorProvisioningState": { + "Type": { "type": "string", - "description": "The provisioning state of the last accepted operation.", + "description": "The week index. Specifies on which week of the month the dayOfWeek applies.", "enum": [ - "Updating", - "Deleting", - "Creating", - "Succeeded", - "Failed", - "Canceled" + "First", + "Second", + "Third", + "Fourth", + "Last" ], "x-ms-enum": { - "name": "JWTAuthenticatorProvisioningState", + "name": "Type", "modelAsString": true, "values": [ { - "name": "Succeeded", - "value": "Succeeded", - "description": "Resource has been created." + "name": "First", + "value": "First", + "description": "First week of the month." }, { - "name": "Failed", - "value": "Failed", - "description": "Resource creation failed." + "name": "Second", + "value": "Second", + "description": "Second week of the month." }, { - "name": "Canceled", - "value": "Canceled", - "description": "Resource creation was canceled." + "name": "Third", + "value": "Third", + "description": "Third week of the month." }, { - "name": "Creating", - "value": "Creating", - "description": "The JWT authenticator is being created." + "name": "Fourth", + "value": "Fourth", + "description": "Fourth week of the month." }, { - "name": "Updating", - "value": "Updating", - "description": "The JWT authenticator is being updated." + "name": "Last", + "value": "Last", + "description": "Last week of the month." + } + ] + } + }, + "UndrainableNodeBehavior": { + "type": "string", + "description": "Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.", + "enum": [ + "Cordon", + "Schedule" + ], + "x-ms-enum": { + "name": "UndrainableNodeBehavior", + "modelAsString": true, + "values": [ + { + "name": "Cordon", + "value": "Cordon", + "description": "AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state." }, { - "name": "Deleting", - "value": "Deleting", - "description": "The JWT authenticator is being deleted." + "name": "Schedule", + "value": "Schedule", + "description": "AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes." } ] - }, - "readOnly": true + } }, - "JWTAuthenticatorIssuer": { - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "The issuer URL. The URL must begin with the scheme https and cannot contain a query string or fragment. This must match the \"iss\" claim in the presented JWT, and the issuer returned from discovery." - }, - "audiences": { - "type": "array", - "minItems": 1, - "items": { - "type": "string" + "UpgradeChannel": { + "type": "string", + "description": "The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel).", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "name": "UpgradeChannel", + "modelAsString": true, + "values": [ + { + "name": "rapid", + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." }, - "description": "The set of acceptable audiences the JWT must be issued to. At least one is required. When multiple is set, AudienceMatchPolicy is used in API Server configuration." - } - }, - "description": "The OIDC issuer details for JWTAuthenticator.", - "required": [ - "url", - "audiences" - ] - }, - "JWTAuthenticatorClaimMappings": { - "type": "object", - "properties": { - "username": { - "$ref": "#/definitions/JWTAuthenticatorClaimMappingExpression", - "description": "The expression to extract username attribute from the token claims." - }, - "groups": { - "$ref": "#/definitions/JWTAuthenticatorClaimMappingExpression", - "description": "The expression to extract groups attribute from the token claims. When not provided, no groups are extracted from the token claims." - }, - "uid": { - "$ref": "#/definitions/JWTAuthenticatorClaimMappingExpression", - "description": "The expression to extract uid attribute from the token claims. When not provided, no uid is extracted from the token claims." - }, - "extra": { - "type": "array", - "items": { - "$ref": "#/definitions/JWTAuthenticatorExtraClaimMappingExpression" + { + "name": "stable", + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." }, - "description": "The expression to extract extra attribute from the token claims. When not provided, no extra attributes are extracted from the token claims." - } - }, - "description": "The claim mappings for JWTAuthenticator.", - "required": [ - "username" - ] + { + "name": "patch", + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "name": "node-image", + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching" + }, + { + "name": "none", + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] + } }, - "JWTAuthenticatorValidationRule": { + "UpgradeOverrideSettings": { "type": "object", + "description": "Settings for overrides when upgrading a cluster.", "properties": { - "expression": { - "type": "string", - "description": "The CEL expression used to validate the claim or attribute." + "forceUpgrade": { + "type": "boolean", + "description": "Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution." }, - "message": { + "until": { "type": "string", - "description": "The validation error message." + "format": "date-time", + "description": "Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect." } - }, - "description": "The validation rule for JWTAuthenticator.", - "required": [ - "expression" - ] + } }, - "JWTAuthenticatorClaimMappingExpression": { - "type": "object", - "properties": { - "expression": { - "type": "string", - "description": "The CEL expression used to access token claims." - } - }, - "description": "The claim mapping expression for JWTAuthenticator.", - "required": [ - "expression" - ] + "UpgradeStrategy": { + "type": "string", + "description": "Defines the upgrade strategy for the agent pool. The default is Rolling.", + "enum": [ + "Rolling", + "BlueGreen" + ], + "x-ms-enum": { + "name": "UpgradeStrategy", + "modelAsString": true, + "values": [ + { + "name": "Rolling", + "value": "Rolling", + "description": "Specifies that the agent pool will conduct rolling upgrade. This is the default upgrade strategy." + }, + { + "name": "BlueGreen", + "value": "BlueGreen", + "description": "Specifies that the agent pool will conduct blue-green upgrade." + } + ] + } }, - "JWTAuthenticatorExtraClaimMappingExpression": { + "UserAssignedIdentity": { "type": "object", + "description": "Details about a user assigned identity.", "properties": { - "key": { + "resourceId": { "type": "string", - "description": "The key of the extra attribute." + "format": "arm-id", + "description": "The resource ID of the user assigned identity.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + } }, - "valueExpression": { + "clientId": { "type": "string", - "description": "The CEL expression used to extract the value of the extra attribute." + "description": "The client ID of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object ID of the user assigned identity." } - }, - "description": "The extra claim mapping expression for JWTAuthenticator.", - "required": [ - "key", - "valueExpression" - ] + } }, - "MeshMembership": { + "VirtualMachineNodes": { "type": "object", - "description": "Mesh membership of a managed cluster.", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ], + "description": "Current status on a group of nodes of the same vm size.", "properties": { - "managedBy": { + "size": { "type": "string", - "description": "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.", - "x-ms-mutability": [ - "read", - "create", - "update" - ] - }, - "eTag": { - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", - "readOnly": true, - "type": "string" + "description": "The VM size of the agents used to host this group of nodes." }, - "properties": { - "$ref": "#/definitions/MeshMembershipProperties" + "count": { + "type": "integer", + "format": "int32", + "description": "Number of nodes." } } }, - "MeshMembershipProperties": { + "VirtualMachinesProfile": { "type": "object", - "description": "Mesh membership properties of a managed cluster.", + "description": "Specifications on VirtualMachines agent pool.", "properties": { - "provisioningState": { - "$ref": "#/definitions/MeshMembershipProvisioningState", - "readOnly": true, - "description": "The current provisioning state of the Mesh Membership." - }, - "managedMeshID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.AppLink/applinks" - } - ] - }, - "description": "The ARM resource id for the managed mesh member. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/applinks/{appLinkName}/appLinkMembers/{appLinkMemberName}'. Visit https://aka.ms/applink for more information." + "scale": { + "$ref": "#/definitions/ScaleProfile", + "description": "Specifications on how to scale a VirtualMachines agent pool." } - }, - "required": [ - "managedMeshID" - ] + } }, - "MeshMembershipProvisioningState": { + "VmState": { "type": "string", - "description": "The provisioning state of the last accepted operation.", + "description": "Virtual machine state. Indicates the current state of the underlying virtual machine.", "enum": [ - "Canceled", - "Creating", - "Deleting", - "Failed", - "Succeeded", - "Updating" + "Running", + "Deleted" ], "x-ms-enum": { - "name": "MeshMembershipProvisioningState", + "name": "VmState", "modelAsString": true, "values": [ { - "name": "Canceled", - "value": "Canceled", - "description": "Resource creation was canceled." + "name": "Running", + "value": "Running", + "description": "The virtual machine is currently running." }, { - "name": "Creating", - "value": "Creating", - "description": "The Mesh Membership is being created." + "name": "Deleted", + "value": "Deleted", + "description": "The virtual machine has been deleted by the user or due to spot eviction." + } + ] + } + }, + "WeekDay": { + "type": "string", + "description": "The weekday enum.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true, + "values": [ + { + "name": "Sunday", + "value": "Sunday" }, { - "name": "Deleting", - "value": "Deleting", - "description": "The Mesh Membership is being deleted." + "name": "Monday", + "value": "Monday" }, { - "name": "Failed", - "value": "Failed", - "description": "Resource creation failed." + "name": "Tuesday", + "value": "Tuesday" }, { - "name": "Succeeded", - "value": "Succeeded", - "description": "Resource has been created." + "name": "Wednesday", + "value": "Wednesday" }, { - "name": "Updating", - "value": "Updating", - "description": "The Mesh Membership is being updated." + "name": "Thursday", + "value": "Thursday" + }, + { + "name": "Friday", + "value": "Friday" + }, + { + "name": "Saturday", + "value": "Saturday" } ] - }, - "readOnly": true + } }, - "MeshMembershipsListResult": { + "WeeklySchedule": { "type": "object", + "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/MeshMembership" - }, - "description": "The list of mesh memberships." + "intervalWeeks": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of weeks between each set of occurrences.", + "minimum": 1, + "maximum": 4 }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of mesh membership results.", - "readOnly": true + "dayOfWeek": { + "$ref": "#/definitions/WeekDay", + "description": "Specifies on which day of the week the maintenance occurs." } }, - "description": "The result of a request to list mesh memberships in a managed cluster." - } - }, - "parameters": { - "LoadBalancerNameParameter": { - "name": "loadBalancerName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-z][a-z0-9]{0,11}$", - "minLength": 1, - "maxLength": 12, - "description": "The name of the load balancer.", - "x-ms-parameter-location": "method" - }, - "ManagedNamespaceNameParameter": { - "name": "managedNamespaceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 63, - "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?", - "description": "The name of the managed namespace.", - "x-ms-parameter-location": "method" - }, - "ResourceNameParameter": { - "name": "resourceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", - "description": "The name of the managed cluster resource.", - "x-ms-parameter-location": "method" - }, - "AgentPoolNameParameter": { - "name": "agentPoolName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-z][a-z0-9]{0,11}$", - "minLength": 1, - "maxLength": 12, - "description": "The name of the agent pool.", - "x-ms-parameter-location": "method" - }, - "ResourceTypeParameter": { - "name": "resource-type", - "in": "query", - "required": false, - "type": "string", - "description": "The resource type for which the OS options needs to be returned", - "x-ms-parameter-location": "method" + "required": [ + "intervalWeeks", + "dayOfWeek" + ] }, - "ServerFqdnParameter": { - "name": "server-fqdn", - "in": "query", - "required": false, - "type": "string", - "description": "server fqdn type for credentials to be returned", - "x-ms-parameter-location": "method" + "WindowsGmsaProfile": { + "type": "object", + "description": "Windows gMSA Profile in the managed cluster.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { + "type": "string", + "description": "Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + }, + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + } + } }, - "CredentialFormatParameter": { - "name": "format", - "in": "query", - "required": false, + "WorkloadRuntime": { "type": "string", + "description": "Determines the type of workload a node can run.", "enum": [ - "exec", - "azure" + "OCIContainer", + "WasmWasi", + "KataMshvVmIsolation", + "KataVmIsolation" ], "x-ms-enum": { - "name": "format", + "name": "WorkloadRuntime", "modelAsString": true, "values": [ { - "value": "azure", - "description": "Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26." + "name": "OCIContainer", + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "name": "WasmWasi", + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + }, + { + "name": "KataMshvVmIsolation", + "value": "KataMshvVmIsolation", + "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series. This naming convention will be deprecated in future releases in favor of KataVmIsolation." }, { - "value": "exec", - "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + "name": "KataVmIsolation", + "value": "KataVmIsolation", + "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series." } ] - }, - "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", - "x-ms-parameter-location": "method" - }, - "IgnorePodDisruptionBudgetParameter": { - "name": "ignore-pod-disruption-budget", - "in": "query", - "required": false, - "type": "boolean", - "description": "ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget", - "x-ms-parameter-location": "method" - }, - "TrustedAccessRoleBindingNameParameter": { - "name": "trustedAccessRoleBindingName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of trusted access role binding.", - "pattern": "^([A-Za-z0-9-])+$", - "minLength": 1, - "maxLength": 24, - "x-ms-parameter-location": "method" - }, - "MeshModeParameter": { - "name": "mode", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 24, - "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", - "description": "The mode of the mesh.", - "x-ms-parameter-location": "method" - }, - "MachineNameParameter": { - "type": "string", - "description": "Host name of the machine.", - "name": "machineName", - "in": "path", - "required": true, - "pattern": "^[a-z][a-z0-9]{0,11}$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$", - "x-ms-parameter-location": "method" - }, - "VersionParameter": { - "name": "version", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 24, - "description": "Safeguards version", - "x-ms-parameter-location": "method" - }, - "IdentityBindingNameParameter": { - "name": "identityBindingName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-z][a-z0-9]{0,63}$", - "minLength": 1, - "maxLength": 63, - "description": "The name of the identity binding.", - "x-ms-parameter-location": "method" - }, - "JWTAuthenticatorNameParameter": { - "description": "The name of the JWT authenticator.", - "in": "path", - "maxLength": 24, - "minLength": 1, - "name": "jwtAuthenticatorName", - "pattern": "^[a-z][a-z0-9]{0,23}$", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "MeshMembershipNameParameter": { - "name": "meshMembershipName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9]{0,62}$", - "minLength": 1, - "maxLength": 63, - "description": "The name of the mesh membership.", - "x-ms-parameter-location": "method" + } } - } + }, + "parameters": {} } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/routes.tsp b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/routes.tsp new file mode 100644 index 000000000000..10f57ad3a92e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/routes.tsp @@ -0,0 +1,81 @@ +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using Versioning; + +namespace Microsoft.ContainerService; + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface ManagedClustersOperationGroup { + /** + * Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades, and details on preview status of the version + */ + @summary("Gets a list of supported Kubernetes versions in the specified subscription.") + @tag("ManagedClusters") + @autoRoute + @get + @action("kubernetesVersions") + listKubernetesVersions is ArmProviderActionSync< + Response = KubernetesVersionListResult, + Scope = SubscriptionActionScope, + Parameters = LocationResourceParameter + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface TrustedAccessRolesOperationGroup { + /** + * List supported trusted access roles. + */ + @tag("TrustedAccess") + @autoRoute + @get + @action("trustedAccessRoles") + @list + list is ArmProviderActionSync< + Response = TrustedAccessRoleListResult, + Scope = SubscriptionActionScope, + Parameters = LocationResourceParameter + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +@added(Versions.v2025_10_02_preview) +interface ContainerServiceOperationGroup { + /** + * 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. + */ + @summary("Gets a list of supported NodeImage versions in the specified subscription.") + @autoRoute + @get + @list + @action("nodeImageVersions") + listNodeImageVersions is ArmProviderActionSync< + Response = NodeImageVersionsListResult, + Scope = SubscriptionActionScope, + Parameters = LocationResourceParameter + >; +} + +interface Operations { + /** + * Gets a list of operations. + */ + @tag("ManagedClusters") + @autoRoute + @segment("operations") + @list + list( + ...CommonTypes.ApiVersionParameter, + + @doc("Microsoft.ContainerService provider") + @path + @segment("providers") + provider: "Microsoft.ContainerService", + ): ArmResponse | ErrorResponse; +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsAbortOperation.json index 1178ff4d3d96..7b7922cad866 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsAbortOperation.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsAbortOperation.json @@ -1,18 +1,20 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "204": {}, "202": { "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2025-10-01", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2025-10-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" } - } - } + }, + "204": {} + }, + "operationId": "AgentPools_AbortLatestOperation", + "title": "Abort operation on agent pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_CRG.json index 7b3275b06e24..6ece59d12f90 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_CRG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_CRG.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", + "orchestratorVersion": "", "osType": "Linux", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Capacity Reservation Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json index 319d4939fc36..b31ba41f3b16 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -1,124 +1,126 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", + "currentOrchestratorVersion": "1.17.8", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", + "currentOrchestratorVersion": "1.17.8", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", "failSwapOn": false, - "podMaxPids": 100 + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 65536, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with KubeletConfig and LinuxOSConfig" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_DedicatedHostGroup.json index f790c0f30f3b..e086259143cd 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_DedicatedHostGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_DedicatedHostGroup.json @@ -1,52 +1,54 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "orchestratorVersion": "", "osType": "Linux", - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", "maxPods": 110, + "orchestratorVersion": "1.19.6", "osType": "Linux", - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", "maxPods": 110, + "orchestratorVersion": "1.19.6", "osType": "Linux", - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Dedicated Host Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json index 318a82e5651b..3e9bc82b94c5 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableEncryptionAtHost": true, + "orchestratorVersion": "", "osType": "Linux", - "enableEncryptionAtHost": true + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.13", - "currentOrchestratorVersion": "1.17.13", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.13", + "enableEncryptionAtHost": true, "maxPods": 110, + "orchestratorVersion": "1.17.13", "osType": "Linux", - "enableEncryptionAtHost": true + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.13", - "currentOrchestratorVersion": "1.17.13", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.13", + "enableEncryptionAtHost": true, "maxPods": 110, + "orchestratorVersion": "1.17.13", "osType": "Linux", - "enableEncryptionAtHost": true + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with EncryptionAtHost enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableFIPS.json index 5dfa6700c460..260c9f60e7b0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableFIPS.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableFIPS.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableFIPS": true, + "orchestratorVersion": "", "osType": "Linux", - "enableFIPS": true + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, "maxPods": 110, + "orchestratorVersion": "1.19.6", "osType": "Linux", - "enableFIPS": true + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, "maxPods": 110, + "orchestratorVersion": "1.19.6", "osType": "Linux", - "enableFIPS": true + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with FIPS enabled OS" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json index 242821c928a3..e783a5dad4ff 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableUltraSSD": true, + "orchestratorVersion": "", "osType": "Linux", - "enableUltraSSD": true + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.13", - "currentOrchestratorVersion": "1.17.13", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.13", + "enableUltraSSD": true, "maxPods": 110, + "orchestratorVersion": "1.17.13", "osType": "Linux", - "enableUltraSSD": true + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.13", - "currentOrchestratorVersion": "1.17.13", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.13", + "enableUltraSSD": true, "maxPods": 110, + "orchestratorVersion": "1.17.13", "osType": "Linux", - "enableUltraSSD": true + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with UltraSSD enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Ephemeral.json index 9972001063d1..565f3ede9950 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Ephemeral.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Ephemeral.json @@ -1,58 +1,60 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", + "orchestratorVersion": "", + "osDiskSizeGB": 64, "osDiskType": "Ephemeral", - "osDiskSizeGB": 64 + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, "osDiskType": "Ephemeral", - "osDiskSizeGB": 64 + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", + "kubeletDiskType": "OS", "maxPods": 110, - "osType": "Linux", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, "osDiskType": "Ephemeral", - "kubeletDiskType": "OS", - "osDiskSizeGB": 64 + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Ephemeral OS Disk" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_GPUMIG.json index 4c8d9c4d36eb..7d62b3901728 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_GPUMIG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_GPUMIG.json @@ -1,127 +1,129 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_ND96asr_v4", - "osType": "Linux", "gpuInstanceProfile": "MIG2g", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_ND96asr_v4" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_ND96asr_v4", - "maxPods": 110, - "osType": "Linux", + "currentOrchestratorVersion": "1.17.8", "gpuInstanceProfile": "MIG2g", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_ND96asr_v4" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_ND96asr_v4", - "maxPods": 110, - "osType": "Linux", + "currentOrchestratorVersion": "1.17.8", "gpuInstanceProfile": "MIG2g", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", "failSwapOn": false, - "podMaxPids": 100 + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 65536, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_ND96asr_v4" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with GPUMIG" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_MessageOfTheDay.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_MessageOfTheDay.json index 0b244d568bc9..7e27c440b4a5 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_MessageOfTheDay.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_MessageOfTheDay.json @@ -1,60 +1,62 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "osDiskSizeGB": 64, + "messageOfTheDay": "Zm9vCg==", "mode": "User", - "messageOfTheDay": "Zm9vCg==" + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", - "osDiskSizeGB": 64, + "messageOfTheDay": "Zm9vCg==", "mode": "User", - "messageOfTheDay": "Zm9vCg==" + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", - "osDiskSizeGB": 64, + "messageOfTheDay": "Zm9vCg==", "mode": "User", - "messageOfTheDay": "Zm9vCg==" + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Message of the Day" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_OSSKU.json index d84a3ceb5ad5..b4aa38ee471f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_OSSKU.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_OSSKU.json @@ -1,127 +1,129 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "osSKU": "AzureLinux", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "orchestratorVersion": "", + "osSKU": "AzureLinux", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "osSKU": "AzureLinux", + "currentOrchestratorVersion": "1.17.8", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], - "failSwapOn": false + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", + "failSwapOn": false, + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 12345, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "osSKU": "AzureLinux", + "currentOrchestratorVersion": "1.17.8", "kubeletConfig": { - "cpuManagerPolicy": "static", - "cpuCfsQuota": true, - "cpuCfsQuotaPeriod": "200ms", - "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, - "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": [ "kernel.msg*", "net.core.somaxconn" ], + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "cpuManagerPolicy": "static", "failSwapOn": false, - "podMaxPids": 100 + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "podMaxPids": 100, + "topologyManagerPolicy": "best-effort" }, "linuxOSConfig": { + "swapFileSizeMB": 1500, "sysctls": { + "kernelThreadsMax": 99999, "netCoreWmemDefault": 65536, - "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "20000 60000", - "kernelThreadsMax": 99999 + "netIpv4TcpTwReuse": true }, - "transparentHugePageEnabled": "always", "transparentHugePageDefrag": "madvise", - "swapFileSizeMB": 1500 - } + "transparentHugePageEnabled": "always" + }, + "maxPods": 110, + "orchestratorVersion": "1.17.8", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with OSSKU" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_PPG.json index c15e73b5262d..0beb29e3a51c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_PPG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_PPG.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", + "orchestratorVersion": "", "osType": "Linux", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "provisioningState": "Succeeded", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with PPG" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Snapshot.json index 166576a3d767..bb60347a5e91 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Snapshot.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Snapshot.json @@ -1,63 +1,65 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "enableFIPS": true, "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + }, + "enableFIPS": true, + "orchestratorVersion": "", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "enableFIPS": true, "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + }, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.19.6", - "currentOrchestratorVersion": "1.19.6", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "enableFIPS": true, "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + }, + "currentOrchestratorVersion": "1.19.6", + "enableFIPS": true, + "maxPods": 110, + "orchestratorVersion": "1.19.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool using an agent pool snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Spot.json index 10b34fe5ec2f..4c4e36736dc9 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Spot.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Spot.json @@ -1,86 +1,88 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", - "tags": { - "name1": "val1" - }, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", "scaleSetPriority": "Spot", - "scaleSetEvictionPolicy": "Delete" + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", "scaleSetEvictionPolicy": "Delete", - "spotMaxPrice": -1 + "scaleSetPriority": "Spot", + "spotMaxPrice": -1, + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", "scaleSetEvictionPolicy": "Delete", - "spotMaxPrice": -1 + "scaleSetPriority": "Spot", + "spotMaxPrice": -1, + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Spot Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_TypeVirtualMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_TypeVirtualMachines.json index b4418bd07ed3..908ae3145f2a 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_TypeVirtualMachines.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_TypeVirtualMachines.json @@ -1,139 +1,141 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "1.9.6", - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "type": "VirtualMachines", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "tags": { + "name1": "val1" + }, "virtualMachinesProfile": { "scale": { "manual": [ { - "size": "Standard_D2_v2", - "count": 3 + "count": 3, + "size": "Standard_D2_v2" }, { - "size": "Standard_D2_v3", - "count": 2 + "count": 2, + "size": "Standard_D2_v3" } ] } } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", + "type": "VirtualMachines", "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ], "virtualMachinesProfile": { "scale": { "manual": [ { - "size": "Standard_D2_v2", - "count": 3 + "count": 3, + "size": "Standard_D2_v2" }, { - "size": "Standard_D2_v3", - "count": 2 + "count": 2, + "size": "Standard_D2_v3" } ] } - }, - "virtualMachineNodesStatus": [ - { - "size": "Standard_D2_v2", - "count": 3 - }, - { - "size": "Standard_D2_v3", - "count": 2 - } - ], - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11" + } } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", + "type": "VirtualMachines", "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "type": "VirtualMachines", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "tags": { + "name1": "val1" + }, + "virtualMachineNodesStatus": [ + { + "count": 3, + "size": "Standard_D2_v2" + }, + { + "count": 2, + "size": "Standard_D2_v3" + } + ], "virtualMachinesProfile": { "scale": { "manual": [ { - "size": "Standard_D2_v2", - "count": 3 + "count": 3, + "size": "Standard_D2_v2" }, { - "size": "Standard_D2_v3", - "count": 2 + "count": 2, + "size": "Standard_D2_v3" } ] } - }, - "virtualMachineNodesStatus": [ - { - "size": "Standard_D2_v2", - "count": 3 - }, - { - "size": "Standard_D2_v3", - "count": 2 - } - ], - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11" + } } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with VirtualMachines pool type" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Update.json index 431b60e0029f..7b4e46c15efe 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_Update.json @@ -1,88 +1,90 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "mode": "User", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "", + "osType": "Linux", "scaleSetEvictionPolicy": "Delete", - "mode": "User" + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", "scaleSetEvictionPolicy": "Delete", - "mode": "User", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, - "osType": "Linux", - "tags": { - "name1": "val1" - }, + "mode": "User", "nodeLabels": { "key1": "val1" }, "nodeTaints": [ "Key1=Value1:NoSchedule" ], - "scaleSetPriority": "Spot", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", "scaleSetEvictionPolicy": "Delete", - "mode": "User" + "scaleSetPriority": "Spot", + "tags": { + "name1": "val1" + }, + "vmSize": "Standard_DS1_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create/Update Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WasmWasi.json index 13f8814e90d6..9c8eba069974 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WasmWasi.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WasmWasi.json @@ -1,60 +1,62 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "osDiskSizeGB": 64, "mode": "User", + "orchestratorVersion": "", + "osDiskSizeGB": 64, + "osType": "Linux", + "vmSize": "Standard_DS2_v2", "workloadRuntime": "WasmWasi" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", - "osDiskSizeGB": 64, "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2", "workloadRuntime": "WasmWasi" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.17.8", - "currentOrchestratorVersion": "1.17.8", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.17.8", "maxPods": 110, - "osType": "Linux", - "osDiskSizeGB": 64, "mode": "User", + "orchestratorVersion": "1.17.8", + "osDiskSizeGB": 64, + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2", "workloadRuntime": "WasmWasi" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Krustlet and the WASI runtime" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json index 3add0bee094b..25481e03e471 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json @@ -1,38 +1,38 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "wnp2", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "1.23.8", "count": 3, - "vmSize": "Standard_D4s_v3", - "osType": "Windows", + "orchestratorVersion": "1.23.8", "osSKU": "Windows2022", + "osType": "Windows", + "vmSize": "Standard_D4s_v3", "windowsProfile": { "disableOutboundNat": true } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.23.8", - "currentOrchestratorVersion": "1.23.8", "count": 3, - "vmSize": "Standard_D4s_v3", + "currentOrchestratorVersion": "1.23.8", "maxPods": 110, - "osType": "Windows", + "orchestratorVersion": "1.23.8", "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Succeeded", + "vmSize": "Standard_D4s_v3", "windowsProfile": { "disableOutboundNat": true } @@ -41,23 +41,25 @@ }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.23.8", - "currentOrchestratorVersion": "1.23.8", "count": 3, - "vmSize": "Standard_D4s_v3", + "currentOrchestratorVersion": "1.23.8", "maxPods": 110, - "osType": "Windows", + "orchestratorVersion": "1.23.8", "osSKU": "Windows2022", + "osType": "Windows", + "provisioningState": "Creating", + "vmSize": "Standard_D4s_v3", "windowsProfile": { "disableOutboundNat": true } } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Windows Agent Pool with disabling OutboundNAT" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WindowsOSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WindowsOSSKU.json index 88033688bf53..22f46144f9cd 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WindowsOSSKU.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsCreate_WindowsOSSKU.json @@ -1,54 +1,56 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "wnp2", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "1.23.3", "count": 3, - "vmSize": "Standard_D4s_v3", + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", "osType": "Windows", - "osSKU": "Windows2022" + "vmSize": "Standard_D4s_v3" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.23.3", - "currentOrchestratorVersion": "1.23.3", "count": 3, - "vmSize": "Standard_D4s_v3", + "currentOrchestratorVersion": "1.23.3", "maxPods": 110, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", "osType": "Windows", - "osSKU": "Windows2022" + "provisioningState": "Succeeded", + "vmSize": "Standard_D4s_v3" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", "properties": { - "provisioningState": "Creating", - "orchestratorVersion": "1.23.3", - "currentOrchestratorVersion": "1.23.3", "count": 3, - "vmSize": "Standard_D4s_v3", + "currentOrchestratorVersion": "1.23.3", "maxPods": 110, + "orchestratorVersion": "1.23.3", + "osSKU": "Windows2022", "osType": "Windows", - "osSKU": "Windows2022" + "provisioningState": "Creating", + "vmSize": "Standard_D4s_v3" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Create Agent Pool with Windows OSSKU" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsDelete.json index 5ecccdd9e680..4e53bbcc872f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsDelete.json @@ -1,10 +1,10 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "AgentPools_Delete", + "title": "Delete Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsDeleteMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsDeleteMachines.json index 4fa30decb7f8..05177c08e5a3 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsDeleteMachines.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsDeleteMachines.json @@ -1,16 +1,16 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "machines": { "machineNames": [ "aks-nodepool1-42263519-vmss00000a", "aks-nodepool1-42263519-vmss00000b" ] - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -18,5 +18,7 @@ "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } } - } + }, + "operationId": "AgentPools_DeleteMachines", + "title": "Delete Specific Machines in an Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGet.json index f3e4f1ef8100..6464750a76c6 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGet.json @@ -1,31 +1,33 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "eTag": "ebwiyfneowv", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", + "eTag": "ebwiyfneowv", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", "upgradeSettings": { "maxSurge": "33%" - } + }, + "vmSize": "Standard_DS1_v2" } } } - } + }, + "operationId": "AgentPools_Get", + "title": "Get Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json index f08172de30fc..8798af23c7e7 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -1,15 +1,16 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", "name": "default", + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", "properties": { "agentPoolVersions": [ { @@ -20,13 +21,14 @@ }, { "default": true, - "kubernetesVersion": "1.13.5", - "isPreview": true + "isPreview": true, + "kubernetesVersion": "1.13.5" } ] - }, - "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions" + } } } - } + }, + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "title": "Get available versions for agent pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGetUpgradeProfile.json index 43db9e7bd856..47679e1d9ddb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGetUpgradeProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsGetUpgradeProfile.json @@ -1,28 +1,30 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", "name": "default", + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", "properties": { "kubernetesVersion": "1.12.8", + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11", "osType": "Linux", "upgrades": [ { "kubernetesVersion": "1.13.5" } - ], - "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" - }, - "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + ] + } } } - } + }, + "operationId": "AgentPools_GetUpgradeProfile", + "title": "Get Upgrade Profile for Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsList.json index d9de6cbe7fbb..ef3c93aebd2c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsList.json @@ -1,31 +1,33 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", + "eTag": "ewnfuib", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "eTag": "ewnfuib" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } } ] } } - } + }, + "operationId": "AgentPools_List", + "title": "List Agent Pools by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json index 212f960a1ac9..8156d97baf58 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -1,34 +1,36 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, "202": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" - }, "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "name": "agentpool1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "UpgradingNodeImageVersion", "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "UpgradingNodeImageVersion", "upgradeSettings": { "maxSurge": "33%" - } + }, + "vmSize": "Standard_DS1_v2" } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" } } - } + }, + "operationId": "AgentPools_UpgradeNodeImageVersion", + "title": "Upgrade Agent Pool Node Image Version" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Start.json index 0ebd0d162b68..638280c4d600 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Start.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Start.json @@ -1,52 +1,54 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { "powerState": { "code": "Running" } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Starting", "count": 50, "enableAutoScaling": true, - "minCount": 3, "maxCount": 55, + "minCount": 3, "powerState": { "code": "Running" - } + }, + "provisioningState": "Starting" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Starting", "count": 50, "enableAutoScaling": true, - "minCount": 3, "maxCount": 55, + "minCount": 3, "powerState": { "code": "Running" - } + }, + "provisioningState": "Starting" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Start Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Stop.json index e89ae15ae935..3647509772a4 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Stop.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Stop.json @@ -1,52 +1,54 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { "powerState": { "code": "Stopped" } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Stopping", "count": 0, "enableAutoScaling": false, - "minCount": null, "maxCount": null, + "minCount": null, "powerState": { "code": "Stopped" - } + }, + "provisioningState": "Stopping" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Stopping", "count": 0, "enableAutoScaling": false, - "minCount": null, "maxCount": null, + "minCount": null, "powerState": { "code": "Stopped" - } + }, + "provisioningState": "Stopping" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Stop Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Update.json index c047830614c1..22bcf09ad8ce 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/AgentPools_Update.json @@ -1,75 +1,77 @@ { "parameters": { - "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "agentPoolName": "agentpool1", + "api-version": "2025-10-01", "parameters": { "properties": { - "orchestratorVersion": "", "count": 3, "enableAutoScaling": true, - "minCount": 2, "maxCount": 2, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", + "minCount": 2, "nodeTaints": [ "Key1=Value1:NoSchedule" ], + "orchestratorVersion": "", + "osType": "Linux", + "scaleSetEvictionPolicy": "Delete", "scaleSetPriority": "Spot", - "scaleSetEvictionPolicy": "Delete" + "vmSize": "Standard_DS1_v2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableAutoScaling": true, - "minCount": 2, "maxCount": 2, - "vmSize": "Standard_DS1_v2", "maxPods": 110, - "osType": "Linux", + "minCount": 2, "nodeTaints": [ "Key1=Value1:NoSchedule" ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleSetEvictionPolicy": "Delete", "scaleSetPriority": "Spot", - "scaleSetEvictionPolicy": "Delete" + "vmSize": "Standard_DS1_v2" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", - "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", "properties": { - "provisioningState": "Updating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableAutoScaling": true, - "minCount": 2, "maxCount": 2, - "vmSize": "Standard_DS1_v2", "maxPods": 110, - "osType": "Linux", + "minCount": 2, "nodeTaints": [ "Key1=Value1:NoSchedule" ], + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Updating", + "scaleSetEvictionPolicy": "Delete", "scaleSetPriority": "Spot", - "scaleSetEvictionPolicy": "Delete" + "vmSize": "Standard_DS1_v2" } } } - } + }, + "operationId": "AgentPools_CreateOrUpdate", + "title": "Update Agent Pool" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/KubernetesVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/KubernetesVersions_List.json index 4d5f76d40dda..a17d87544259 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/KubernetesVersions_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/KubernetesVersions_List.json @@ -1,15 +1,14 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "location1" + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "values": [ { - "version": "1.23", "capabilities": { "supportPlan": [ "KubernetesOfficial" @@ -29,16 +28,16 @@ "1.24.9" ] } - } + }, + "version": "1.23" }, { - "version": "1.24", - "isDefault": true, "capabilities": { "supportPlan": [ "KubernetesOfficial" ] }, + "isDefault": true, "patchVersions": { "1.24.6": { "upgrades": [ @@ -53,10 +52,10 @@ "1.25.5" ] } - } + }, + "version": "1.24" }, { - "version": "1.25", "capabilities": { "supportPlan": [ "KubernetesOfficial" @@ -74,24 +73,27 @@ "1.26.0" ] } - } + }, + "version": "1.25" }, { - "version": "1.26", - "isPreview": true, "capabilities": { "supportPlan": [ "KubernetesOfficial" ] }, + "isPreview": true, "patchVersions": { "1.26.0": { "upgrades": [] } - } + }, + "version": "1.26" } ] } } - } + }, + "operationId": "ManagedClusters_ListKubernetesVersions", + "title": "List Kubernetes Versions" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MachineGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MachineGet.json index 1bcd2c6fe23d..267bb5725c63 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MachineGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MachineGet.json @@ -1,37 +1,39 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-01", - "subscriptionId": "26fe00f8-9173-4872-9134-bb1d2e00343a", + "machineName": "aks-nodepool1-42263519-vmss00000t", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1", - "machineName": "aks-nodepool1-42263519-vmss00000t" + "subscriptionId": "26fe00f8-9173-4872-9134-bb1d2e00343a" }, "responses": { "200": { "body": { - "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", "name": "aks-nodepool1-25481572-vmss000000", "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", - "zones": [ - "1" - ], + "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", "properties": { "network": { "ipAddresses": [ { - "ip": "172.20.2.4", - "family": "IPv4" + "family": "IPv4", + "ip": "172.20.2.4" }, { - "ip": "10.0.0.1", - "family": "IPv4" + "family": "IPv4", + "ip": "10.0.0.1" } ] }, "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0" - } + }, + "zones": [ + "1" + ] } } - } + }, + "operationId": "Machines_Get", + "title": "Get a Machine in an Agent Pools by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MachineList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MachineList.json index 520edc0d1ace..8823a7ff8133 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MachineList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MachineList.json @@ -1,41 +1,43 @@ { "parameters": { + "agentPoolName": "agentpool1", "api-version": "2025-10-01", - "subscriptionId": "26fe00f8-9173-4872-9134-bb1d2e00343a", "resourceGroupName": "rg1", "resourceName": "clustername1", - "agentPoolName": "agentpool1" + "subscriptionId": "26fe00f8-9173-4872-9134-bb1d2e00343a" }, "responses": { "200": { "body": { + "nextLink": "http://xxxx.azure.com?encodedToken=c2tpcFRva2VuPTE", "value": [ { - "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", "name": "aks-nodepool1-25481572-vmss000000", "type": "Microsoft.ContainerService/managedClusters/agentPools/machines", - "zones": [ - "1" - ], + "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000", "properties": { "network": { "ipAddresses": [ { - "ip": "172.20.2.4", - "family": "IPv4" + "family": "IPv4", + "ip": "172.20.2.4" }, { - "ip": "10.0.0.1", - "family": "IPv4" + "family": "IPv4", + "ip": "10.0.0.1" } ] }, "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0" - } + }, + "zones": [ + "1" + ] } - ], - "nextLink": "http://xxxx.azure.com?encodedToken=c2tpcFRva2VuPTE" + ] } } - } + }, + "operationId": "Machines_List", + "title": "List Machines in an Agentpool by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json index 5ac90b9025a9..619f1bfa4e4a 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json @@ -1,98 +1,100 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "configName": "aksManagedAutoUpgradeSchedule", "parameters": { "properties": { "maintenanceWindow": { + "durationHours": 10, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], "schedule": { "relativeMonthly": { + "dayOfWeek": "Monday", "intervalMonths": 3, - "weekIndex": "First", - "dayOfWeek": "Monday" + "weekIndex": "First" } }, - "durationHours": 10, - "utcOffset": "+05:30", "startDate": "2023-01-01", "startTime": "08:30", - "notAllowedDates": [ - { - "start": "2023-02-18", - "end": "2023-02-25" - }, - { - "start": "2023-12-23", - "end": "2024-01-05" - } - ] + "utcOffset": "+05:30" } } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", "name": "aksManagedAutoUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", "properties": { "maintenanceWindow": { - "schedule": { - "weekly": { - "intervalWeeks": 3, - "dayOfWeek": "Monday" - } - }, "durationHours": 10, - "utcOffset": "+05:30", - "startDate": "2023-01-01", - "startTime": "08:30", "notAllowedDates": [ { - "start": "2023-02-18", - "end": "2023-02-25" + "end": "2023-02-25", + "start": "2023-02-18" }, { - "start": "2023-12-23", - "end": "2024-01-05" + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "weekly": { + "dayOfWeek": "Monday", + "intervalWeeks": 3 } - ] + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" } } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", "name": "aksManagedAutoUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", "properties": { "maintenanceWindow": { - "schedule": { - "weekly": { - "intervalWeeks": 3, - "dayOfWeek": "Monday" - } - }, "durationHours": 10, - "utcOffset": "+05:30", - "startDate": "2023-01-01", - "startTime": "08:30", "notAllowedDates": [ { - "start": "2023-02-18", - "end": "2023-02-25" + "end": "2023-02-25", + "start": "2023-02-18" }, { - "start": "2023-12-23", - "end": "2024-01-05" + "end": "2024-01-05", + "start": "2023-12-23" } - ] + ], + "schedule": { + "weekly": { + "dayOfWeek": "Monday", + "intervalWeeks": 3 + } + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+05:30" } } } } - } + }, + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "title": "Create/Update Maintenance Configuration with Maintenance Window" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json index fbab16853fa2..f5afc12b9601 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json @@ -1,13 +1,15 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "configName": "aksManagedNodeOSUpgradeSchedule", "resourceGroupName": "rg1", "resourceName": "clustername1", - "configName": "aksManagedNodeOSUpgradeSchedule" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "MaintenanceConfigurations_Delete", + "title": "Delete Maintenance Configuration For Node OS Upgrade" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json index 2a366995e361..1a1c5adbfbfd 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json @@ -1,40 +1,42 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "configName": "aksManagedNodeOSUpgradeSchedule", "resourceGroupName": "rg1", "resourceName": "clustername1", - "configName": "aksManagedNodeOSUpgradeSchedule" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule", "name": "aksManagedNodeOSUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule", "properties": { "maintenanceWindow": { + "durationHours": 4, + "notAllowedDates": [ + { + "end": "2023-02-25", + "start": "2023-02-18" + }, + { + "end": "2024-01-05", + "start": "2023-12-23" + } + ], "schedule": { "daily": { "intervalDays": 3 } }, - "durationHours": 4, - "utcOffset": "-07:00", "startDate": "2023-01-01", "startTime": "09:30", - "notAllowedDates": [ - { - "start": "2023-02-18", - "end": "2023-02-25" - }, - { - "start": "2023-12-23", - "end": "2024-01-05" - } - ] + "utcOffset": "-07:00" } } } } - } + }, + "operationId": "MaintenanceConfigurations_Get", + "title": "Get Maintenance Configuration Configured With Maintenance Window" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsList_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsList_MaintenanceWindow.json index ea72ccaba52e..dc84208cfbf0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsList_MaintenanceWindow.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/MaintenanceConfigurationsList_MaintenanceWindow.json @@ -1,61 +1,63 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule", "name": "aksManagedNodeOSUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule", "properties": { "maintenanceWindow": { + "durationHours": 10, "schedule": { "daily": { "intervalDays": 5 } }, - "durationHours": 10, - "utcOffset": "-07:00", "startDate": "2023-01-01", - "startTime": "13:30" + "startTime": "13:30", + "utcOffset": "-07:00" } } }, { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", "name": "aksManagedAutoUpgradeSchedule", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", "properties": { "maintenanceWindow": { - "schedule": { - "absoluteMonthly": { - "intervalMonths": 3, - "dayOfMonth": 15 - } - }, "durationHours": 5, - "utcOffset": "+00:00", - "startDate": "2023-01-01", - "startTime": "08:30", "notAllowedDates": [ { - "start": "2023-02-18", - "end": "2023-02-25" + "end": "2023-02-25", + "start": "2023-02-18" }, { - "start": "2023-12-23", - "end": "2024-01-05" + "end": "2024-01-05", + "start": "2023-12-23" + } + ], + "schedule": { + "absoluteMonthly": { + "dayOfMonth": 15, + "intervalMonths": 3 } - ] + }, + "startDate": "2023-01-01", + "startTime": "08:30", + "utcOffset": "+00:00" } } } ] } } - } + }, + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "title": "List maintenance configurations configured with maintenance window by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersAbortOperation.json index 90452ffd87de..4f8d7d245173 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersAbortOperation.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersAbortOperation.json @@ -1,17 +1,19 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "204": {}, "202": { "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2025-10-01", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2025-10-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" } - } - } + }, + "204": {} + }, + "operationId": "ManagedClusters_AbortLatestOperation", + "title": "Abort operation on managed cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json index 4d7fe9822bcc..05394b45844b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json @@ -1,33 +1,37 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,72 +43,78 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -115,38 +125,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -154,46 +137,72 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "enableEncryptionAtHost": true + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -204,37 +213,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -242,15 +225,34 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Azure KeyVault Secrets Provider Addon" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_AzureServiceMesh.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_AzureServiceMesh.json index aa6bdd4db5ba..a0c00996895c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_AzureServiceMesh.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_AzureServiceMesh.json @@ -1,33 +1,37 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,101 +43,107 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" - }, - "servicePrincipalProfile": { - "clientId": "clientid", - "secret": "secret" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "serviceMeshProfile": { - "mode": "Istio", "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, "components": { - "ingressGateways": [ + "egressGateways": [ { + "name": "test-istio-egress", "enabled": true, - "mode": "Internal" + "gatewayConfigurationName": "test-gateway-configuration" } ], - "egressGateways": [ + "ingressGateways": [ { "enabled": true, - "name": "test-istio-egress", - "gatewayConfigurationName": "test-gateway-configuration" + "mode": "Internal" } ] - }, - "certificateAuthority": { - "plugin": { - "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", - "certObjectName": "ca-cert", - "keyObjectName": "ca-key", - "rootCertObjectName": "root-cert", - "certChainObjectName": "cert-chain" - } } - } + }, + "mode": "Istio" }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" }, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -144,38 +154,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -183,78 +166,104 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", "serviceMeshProfile": { - "mode": "Istio", "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, "components": { - "ingressGateways": [ + "egressGateways": [ { + "name": "test-istio-egress", "enabled": true, - "mode": "Internal" + "gatewayConfigurationName": "test-gateway-configuration" } ], - "egressGateways": [ + "ingressGateways": [ { "enabled": true, - "name": "test-istio-egress", - "gatewayConfigurationName": "test-gateway-configuration" + "mode": "Internal" } ] }, - "certificateAuthority": { - "plugin": { - "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", - "certObjectName": "ca-cert", - "keyObjectName": "ca-key", - "rootCertObjectName": "root-cert", - "certChainObjectName": "cert-chain" - } - }, "revisions": [ "asm-1-17" ] - } + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + }, + "enabled": true + } + }, "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableEncryptionAtHost": true, + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "enableEncryptionAtHost": true + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -265,37 +274,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "addonProfiles": { - "azureKeyvaultSecretsProvider": { - "enabled": true, - "config": { - "enableSecretRotation": "true", - "rotationPollInterval": "2m" - } - } - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -303,47 +286,66 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", "serviceMeshProfile": { - "mode": "Istio", "istio": { + "certificateAuthority": { + "plugin": { + "certChainObjectName": "cert-chain", + "certObjectName": "ca-cert", + "keyObjectName": "ca-key", + "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", + "rootCertObjectName": "root-cert" + } + }, "components": { - "ingressGateways": [ + "egressGateways": [ { + "name": "test-istio-egress", "enabled": true, - "mode": "Internal" + "gatewayConfigurationName": "test-gateway-configuration" } ], - "egressGateways": [ + "ingressGateways": [ { "enabled": true, - "name": "test-istio-egress", - "gatewayConfigurationName": "test-gateway-configuration" + "mode": "Internal" } ] }, - "certificateAuthority": { - "plugin": { - "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv", - "certObjectName": "ca-cert", - "keyObjectName": "ca-key", - "rootCertObjectName": "root-cert", - "certChainObjectName": "cert-chain" - } - }, "revisions": [ "asm-1-17" ] - } + }, + "mode": "Istio" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with Azure Service Mesh" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_CRG.json index 8d8684b632b3..a0f7153b8e51 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_CRG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_CRG.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", + "count": 3, "enableNodePublicIP": true, "mode": "System", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1" + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,65 +36,70 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -109,38 +110,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -148,47 +125,70 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -199,37 +199,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -237,15 +214,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Capacity Reservation Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_CustomCATrustCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_CustomCATrustCertificates.json index a38db149aaab..81427771123c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_CustomCATrustCertificates.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_CustomCATrustCertificates.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,69 +35,74 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" - }, - "servicePrincipalProfile": { - "clientId": "clientid", - "secret": "secret" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "securityProfile": { "customCATrustCertificates": [ "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" ] }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -112,43 +113,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "securityProfile": { - "customCATrustCertificates": [ - "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" - ] - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -156,46 +128,74 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -206,42 +206,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "securityProfile": { - "customCATrustCertificates": [ - "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" - ] - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -249,15 +221,45 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Custom CA Trust Certificates" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DedicatedHostGroup.json index 9b0515fa18b2..d2ae037804d8 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DedicatedHostGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DedicatedHostGroup.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,63 +35,68 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", "maxPods": 110, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -106,38 +107,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -145,45 +122,68 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -194,37 +194,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -232,15 +209,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Dedicated Host Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DisableRunCommand.json index 72ad36b16145..3b98a5a94e93 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DisableRunCommand.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DisableRunCommand.json @@ -1,34 +1,32 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,68 +38,73 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "addonProfiles": {}, - "enableRBAC": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -112,41 +115,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -154,49 +130,76 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "supportPlan": "KubernetesOfficial" + "supportPlan": "KubernetesOfficial", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -207,41 +210,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -249,16 +225,42 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "supportPlan": "KubernetesOfficial" + "supportPlan": "KubernetesOfficial", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with RunCommand disabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DualStackNetworking.json index b128f9ed3b3e..d01b0a6ecb95 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DualStackNetworking.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_DualStackNetworking.json @@ -1,39 +1,46 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { - "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } }, + "location": "location1", "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -45,86 +52,94 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", + "ipFamilies": [ + "IPv4", + "IPv6" + ], "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } }, - "ipFamilies": [ - "IPv4", - "IPv6" - ] - }, - "autoScalerProfile": { - "balance-similar-node-groups": "true", - "expander": "priority", - "max-node-provision-time": "15m", - "new-pod-scale-up-delay": "1m", - "scale-down-delay-after-add": "15m", - "scan-interval": "20s", - "skip-nodes-with-system-pods": "false" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.22.1", - "currentKubernetesVersion": "1.22.1", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.22.1", - "currentOrchestratorVersion": "1.22.1", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.22.1", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.22.1", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "currentKubernetesVersion": "1.22.1", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.22.1", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -135,42 +150,15 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16", - "fd11:1234::/64" - ], - "serviceCidrs": [ - "10.0.0.0/16", - "fd00:1234::/108" - ], "ipFamilies": [ "IPv4", "IPv6" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2, - "countIPv6": 1 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -181,67 +169,88 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ] }, - "autoScalerProfile": { - "balance-similar-node-groups": "true", - "expander": "priority", - "max-node-provision-time": "15m", - "new-pod-scale-up-delay": "1m", - "scale-down-delay-after-add": "15m", - "scan-interval": "20s", - "skip-nodes-with-system-pods": "false" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.22.1", - "currentKubernetesVersion": "1.22.1", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.22.1", - "currentOrchestratorVersion": "1.22.1", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.22.1", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.22.1", + "osType": "Linux", + "provisioningState": "Creating", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.22.1", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.22.1", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -252,41 +261,15 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16", - "fd11:1234::/64" - ], - "serviceCidrs": [ - "10.0.0.0/16", - "fd00:1234::/108" - ], "ipFamilies": [ "IPv4", "IPv6" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2, - "countIPv6": 1 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -297,24 +280,43 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with dual-stack networking" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json index f80d73daa99c..8d6567812b46 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,66 +36,71 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -110,38 +111,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -149,48 +126,71 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -201,37 +201,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -239,15 +216,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with EncryptionAtHost enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json index c29f40d682c1..3a6d9314a912 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, + "enableUltraSSD": true, "mode": "System", - "enableUltraSSD": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,66 +36,71 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "enableUltraSSD": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableUltraSSD": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -110,38 +111,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -149,48 +126,71 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "enableUltraSSD": true, + "maxPods": 110, "mode": "System", - "enableUltraSSD": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -201,37 +201,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -239,15 +216,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with UltraSSD enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnabledFIPS.json index 7cc3ed9745f7..63b6464612d1 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnabledFIPS.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_EnabledFIPS.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableFIPS": true, "enableNodePublicIP": true, "mode": "System", - "enableFIPS": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,66 +36,71 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableFIPS": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -110,38 +111,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -149,48 +126,71 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableFIPS": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -201,37 +201,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -239,15 +216,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with FIPS enabled OS" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_GPUMIG.json index 480ac8515e87..c5737c334823 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_GPUMIG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_GPUMIG.json @@ -1,34 +1,39 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_ND96asr_v4", - "osType": "Linux", - "gpuInstanceProfile": "MIG3g", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "gpuInstanceProfile": "MIG3g", + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_ND96asr_v4" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,75 +45,80 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_ND96asr_v4", - "maxPods": 110, - "osType": "Linux", - "gpuInstanceProfile": "MIG3g", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_ND96asr_v4" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -119,38 +129,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -158,57 +144,80 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_ND96asr_v4", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, + "gpuInstanceProfile": "MIG3g", "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", - "gpuInstanceProfile": "MIG3g", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_ND96asr_v4" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -219,37 +228,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -257,24 +243,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with GPUMIG" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_HTTPProxy.json index fcf6941b5997..2f53fde42a20 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_HTTPProxy.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_HTTPProxy.json @@ -1,33 +1,38 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,74 +44,79 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -117,38 +127,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -156,56 +142,79 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -216,37 +225,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -254,24 +240,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with HTTP proxy configured" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json index 4c412186e3c8..7edf25f54674 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json @@ -1,33 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,56 +36,64 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "ingressProfile": { - "webAppRouting": { - "enabled": true, - "dnsZoneResourceIds": [ - "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" - ] - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -99,38 +104,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -138,49 +119,72 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "ingressProfile": { - "webAppRouting": { - "enabled": true, - "dnsZoneResourceIds": [ - "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" - ] - } + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "ingressProfile": { + "webAppRouting": { + "dnsZoneResourceIds": [ + "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + ], + "enabled": true + } + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -191,37 +195,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -229,19 +210,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "ingressProfile": { - "webAppRouting": { - "enabled": true, - "dnsZoneResourceIds": [ - "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" - ] - } + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Web App Routing Ingress Profile configured" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json index f311c1050298..35973a305e51 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": false, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,64 +36,69 @@ }, "networkProfile": { "loadBalancerSku": "standard", - "outboundType": "managedNATGateway", "natGatewayProfile": { "managedOutboundIPProfile": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "outboundType": "managedNATGateway" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": false, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -108,28 +109,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "managedNATGateway", + "loadBalancerSku": "basic", "natGatewayProfile": { - "idleTimeoutInMinutes": 4, - "managedOutboundIPProfile": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -137,47 +121,63 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + } + }, + "networkPlugin": "kubenet", + "outboundType": "managedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": false, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -188,27 +188,11 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "loadBalancerSku": "standard", - "outboundType": "managedNATGateway", "natGatewayProfile": { - "idleTimeoutInMinutes": 4, - "managedOutboundIPProfile": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -216,15 +200,33 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + } + }, + "networkPlugin": "kubenet", + "outboundType": "managedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with AKS-managed NAT gateway as outbound type" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json index 291ae44ffa58..4d133442a1f1 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, "mode": "System", - "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,66 +36,71 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -110,38 +111,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -149,48 +126,71 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -201,37 +201,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -239,15 +216,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Node Public IP Prefix" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_OSSKU.json index 4f084895b1d4..7eff10ed050f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_OSSKU.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_OSSKU.json @@ -1,34 +1,39 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", - "osSKU": "AzureLinux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osSKU": "AzureLinux", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,75 +45,80 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "osSKU": "AzureLinux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osSKU": "AzureLinux", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -119,38 +129,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -158,57 +144,80 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, - "osType": "Linux", + "mode": "System", + "orchestratorVersion": "1.9.6", "osSKU": "AzureLinux", + "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + }, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -219,37 +228,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -257,24 +243,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "httpProxyConfig": { - "httpProxy": "http://myproxy.server.com:8080", - "httpsProxy": "https://myproxy.server.com:8080", - "noProxy": [ - "localhost", - "127.0.0.1" - ], - "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with OSSKU" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PPG.json index 25cc324bd5a3..00d055a73929 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PPG.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PPG.json @@ -1,34 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, "mode": "System", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,66 +36,71 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -110,38 +111,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -149,48 +126,71 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -201,37 +201,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -239,15 +216,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with PPG" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PodIdentity.json index 49e97c85a6f7..98451e965de3 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PodIdentity.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PodIdentity.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,69 +35,74 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + "podIdentityProfile": { + "allowNetworkPluginKubenet": true, + "enabled": true }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "podIdentityProfile": { - "enabled": true, - "allowNetworkPluginKubenet": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -112,38 +113,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -151,51 +128,74 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", "podIdentityProfile": { - "enabled": true, - "allowNetworkPluginKubenet": true + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -206,37 +206,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -244,19 +221,44 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", "podIdentityProfile": { - "enabled": true, - "allowNetworkPluginKubenet": true + "allowNetworkPluginKubenet": true, + "enabled": true + }, + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with PodIdentity enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Premium.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Premium.json index 432c5f43bedf..9a249d02dc05 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Premium.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Premium.json @@ -1,34 +1,32 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Base", - "tier": "Premium" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,72 +38,73 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "addonProfiles": {}, - "enableRBAC": true, - "supportPlan": "AKSLongTermSupport" + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, - "sku": { - "name": "Base", - "tier": "Premium" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -116,41 +115,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -158,52 +130,79 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "supportPlan": "AKSLongTermSupport" + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, - "sku": { - "name": "Base", - "tier": "Premium" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -214,41 +213,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "disableRunCommand": true - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -256,16 +228,46 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "supportPlan": "AKSLongTermSupport" + "supportPlan": "AKSLongTermSupport", + "windowsProfile": { + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with LongTermSupport" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json index 3acd8265c3e8..e861a747a634 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -1,34 +1,33 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "fqdnSubdomain": "domain1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,69 +39,73 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" - }, - "addonProfiles": {}, - "enableRBAC": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "fqdnSubdomain": "domain1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -113,41 +116,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -155,48 +131,75 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "fqdnSubdomain": "domain1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "enableRBAC": true, + "fqdnSubdomain": "domain1", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -207,41 +210,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -249,15 +225,41 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Private Cluster with fqdn subdomain specified" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json index 53baf29cbbc3..b6f2354a7127 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -1,34 +1,33 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, + "enableEncryptionAtHost": true, "enableNodePublicIP": true, "mode": "System", - "enableEncryptionAtHost": true + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -40,69 +39,75 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "enablePrivateClusterPublicFQDN": true - }, - "addonProfiles": {}, - "enableRBAC": true + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -113,43 +118,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "enablePrivateClusterPublicFQDN": true, - "privateDNSZone": "system" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -157,48 +133,77 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableEncryptionAtHost": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableEncryptionAtHost": true + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -209,43 +214,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "apiServerAccessProfile": { - "enablePrivateCluster": true, - "enablePrivateClusterPublicFQDN": true, - "privateDNSZone": "system" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", - "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -253,15 +229,41 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Private Cluster with Public FQDN specified" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_SecurityProfile.json index d6a4cb3cb93b..6a8a4e382d78 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_SecurityProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_SecurityProfile.json @@ -1,33 +1,22 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "dnsPrefix": "dnsprefix1", + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -39,13 +28,13 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "securityProfile": { "defender": { @@ -58,42 +47,50 @@ "enabled": true } } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -104,38 +101,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -143,9 +116,26 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", "securityProfile": { "defender": { "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", @@ -156,41 +146,47 @@ "workloadIdentity": { "enabled": true } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": true, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -201,37 +197,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -239,9 +212,26 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", "securityProfile": { "defender": { "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", @@ -252,9 +242,21 @@ "workloadIdentity": { "enabled": true } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with Security Profile configured" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Snapshot.json index 6060a7870a06..811562f7a65b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Snapshot.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Snapshot.json @@ -1,37 +1,33 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", - "enableNodePublicIP": true, - "mode": "System", - "enableFIPS": true, + "count": 3, "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + }, + "enableFIPS": true, + "enableNodePublicIP": true, + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -43,69 +39,74 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", - "enableFIPS": true, - "creationData": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -116,38 +117,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -155,51 +132,74 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", + "creationData": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + }, "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", + "enableFIPS": true, "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "enableFIPS": true, - "creationData": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" - } + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -210,37 +210,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -248,15 +225,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster using an agent pool snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Update.json index 7ca4e0afa1bd..e922b8a8c809 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_Update.json @@ -1,39 +1,46 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { - "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } }, + "location": "location1", "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -45,13 +52,17 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" }, "upgradeSettings": { "overrideSettings": { @@ -59,74 +70,78 @@ "until": "2022-11-01T13:00:00Z" } }, - "autoScalerProfile": { - "balance-similar-node-groups": "true", - "expander": "priority", - "max-node-provision-time": "15m", - "new-pod-scale-up-delay": "1m", - "scale-down-delay-after-add": "15m", - "scan-interval": "20s", - "skip-nodes-with-system-pods": "false" - }, "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" - }, - "servicePrincipalProfile": { - "clientId": "clientid", - "secret": "secret" - }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -137,38 +152,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -176,8 +167,28 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, "upgradeSettings": { "overrideSettings": { @@ -185,64 +196,62 @@ "until": "2022-11-01T13:00:00Z" } }, - "autoScalerProfile": { - "balance-similar-node-groups": "true", - "expander": "priority", - "max-node-provision-time": "15m", - "new-pod-scale-up-delay": "1m", - "scale-down-delay-after-add": "15m", - "scan-interval": "20s", - "skip-nodes-with-system-pods": "false" + "windowsProfile": { + "adminUsername": "azureuser" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", - "scaleDownMode": "Deallocate", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "scaleDownMode": "Deallocate", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -253,37 +262,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -291,24 +277,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json index c8cf19eee0af..0d61c4aaea7c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -1,38 +1,40 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { - "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } }, + "location": "location1", "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -44,79 +46,87 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" }, "windowsProfile": { - "adminUsername": "azureuser", "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser", "gmsaProfile": { "enabled": true } - }, - "servicePrincipalProfile": { - "clientId": "clientid", - "secret": "secret" - }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -127,41 +137,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser", - "gmsaProfile": { - "enabled": true - } - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -169,61 +152,87 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - } - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true } } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -234,40 +243,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser", - "gmsaProfile": { - "enabled": true - } - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -275,24 +258,43 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - } - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true } } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with Windows gMSA enabled" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json index 42b14d7c4322..bd40ae2ffca6 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -1,38 +1,40 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { - "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } }, + "location": "location1", "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -44,77 +46,85 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$", - "licenseType": "Windows_Server" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" - }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser", + "licenseType": "Windows_Server" } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -125,39 +135,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser", - "licenseType": "Windows_Server" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -165,61 +150,85 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "clientId1", + "principalId": "principalId1" + } + } + }, + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -230,38 +239,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser", - "licenseType": "Windows_Server" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -269,24 +254,41 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" } }, - "identity": { - "type": "UserAssigned", - "userAssignedIdentities": { - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { - "principalId": "principalId1", - "clientId": "clientId1" - } - } + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update Managed Cluster with EnableAHUB" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json index ca3c2a20f1b7..76e37b71d52f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -1,38 +1,38 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "aadProfile": { + "enableAzureRBAC": true, + "managed": true + }, + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, "enableNodePublicIP": true, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -44,74 +44,81 @@ } }, "networkProfile": { - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", "loadBalancerProfile": { "managedOutboundIPs": { "count": 2 } - } - }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" + }, + "loadBalancerSku": "standard", + "outboundType": "loadBalancer" }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "aadProfile": { - "managed": true, - "enableAzureRBAC": true - }, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "aadProfile": { + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "managed": true, + "tenantID": "tenantID" + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -122,38 +129,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { - "loadBalancerSku": "basic", - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -161,58 +144,81 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "aadProfile": { - "managed": true, - "adminGroupObjectIDs": null, - "enableAzureRBAC": true, - "tenantID": "tenantID" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", + "aadProfile": { + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "managed": true, + "tenantID": "tenantID" + }, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "type": "VirtualMachineScaleSets", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", "enableNodePublicIP": true, - "mode": "System" + "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Creating", + "vmSize": "Standard_DS1_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -223,37 +229,14 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, - "idleTimeoutInMinutes": 10, - "managedOutboundIPs": { - "count": 2 - }, "effectiveOutboundIPs": [ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" @@ -261,21 +244,40 @@ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" } - ] - } + ], + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] }, - "aadProfile": { - "managed": true, - "adminGroupObjectIDs": null, - "enableAzureRBAC": true, - "tenantID": "tenantID" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create/Update AAD Managed Cluster with EnableAzureRBAC" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json index f7c6a41a2212..42535889f454 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -1,33 +1,29 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "location": "location1", - "tags": { - "tier": "production", - "archv2": "" - }, - "sku": { - "name": "Basic", - "tier": "Free" - }, "properties": { - "kubernetesVersion": "", - "dnsPrefix": "dnsprefix1", + "addonProfiles": {}, "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS2_v2", - "osType": "Linux", "type": "VirtualMachineScaleSets", + "count": 3, "enableNodePublicIP": false, - "mode": "System" + "mode": "System", + "osType": "Linux", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -42,57 +38,62 @@ "loadBalancerSku": "standard", "outboundType": "userAssignedNATGateway" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "replacePassword1234$" - }, "servicePrincipalProfile": { "clientId": "clientid", "secret": "secret" }, - "addonProfiles": {}, - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des" + "windowsProfile": { + "adminPassword": "replacePassword1234$", + "adminUsername": "azureuser" + } + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "tags": { + "archv2": "", + "tier": "production" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", - "maxPods": 110, - "osType": "Linux", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", "enableNodePublicIP": false, + "maxPods": 110, "mode": "System", - "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -103,62 +104,61 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "maxAgentPools": 1, "networkProfile": { + "dnsServiceIP": "10.0.0.10", "loadBalancerSku": "basic", "networkPlugin": "kubenet", + "outboundType": "userAssignedNATGateway", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "outboundType": "userAssignedNATGateway" + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Creating", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", + "type": "VirtualMachineScaleSets", "count": 3, - "vmSize": "Standard_DS2_v2", + "currentOrchestratorVersion": "1.9.6", + "enableNodePublicIP": false, "maxPods": 110, + "mode": "System", + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Creating", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "type": "VirtualMachineScaleSets", - "enableNodePublicIP": false, - "mode": "System" + "vmSize": "Standard_DS2_v2" } ], + "autoScalerProfile": { + "scale-down-delay-after-add": "15m", + "scan-interval": "20s" + }, + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": true, + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -169,29 +169,31 @@ ] } }, - "windowsProfile": { - "adminUsername": "azureuser" - }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": true, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "loadBalancerSku": "standard", - "outboundType": "userAssignedNATGateway" + "networkPlugin": "kubenet", + "outboundType": "userAssignedNATGateway", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16" }, - "autoScalerProfile": { - "scan-interval": "20s", - "scale-down-delay-after-add": "15m" + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Creating", + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "windowsProfile": { + "adminUsername": "azureuser" } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_CreateOrUpdate", + "title": "Create Managed Cluster with user-assigned NAT gateway as outbound type" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersDelete.json index 99a13713f46f..c51e9d16f4d3 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersDelete.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_Delete", + "title": "Delete Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet.json index f2bb149159f7..2a6eedb5c7c2 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet.json @@ -1,52 +1,48 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", "eTag": "beywbwei", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "maxAgentPools": 1, - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", - "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", "agentPoolProfiles": [ { "name": "nodepool1", - "count": 3, - "vmSize": "Standard_DS1_v2", - "maxPods": 110, - "osType": "Linux", - "eTag": "nvewbvoi", - "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", "availabilityZones": [ "1", "2", "3" ], + "count": 3, + "currentOrchestratorVersion": "1.9.6", + "eTag": "nvewbvoi", + "maxPods": 110, "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "orchestratorVersion": "1.9.6", + "osType": "Linux", + "provisioningState": "Succeeded", "upgradeSettings": { "maxSurge": "33%" - } + }, + "vmSize": "Standard_DS1_v2" } ], + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -57,30 +53,22 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": false, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { - "networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "loadBalancerSku": "standard", - "outboundType": "loadBalancer", - "podCidrs": [ - "10.244.0.0/16" - ], - "serviceCidrs": [ - "10.0.0.0/16" - ], "ipFamilies": [ "IPv4" ], "loadBalancerProfile": { "allocatedOutboundPorts": 2000, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ], "idleTimeoutInMinutes": 10, "outboundIPs": { "publicIPs": [ @@ -91,16 +79,24 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" } ] - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" - }, - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" - } - ] - } + } + }, + "loadBalancerSku": "standard", + "networkPlugin": "kubenet", + "outboundType": "loadBalancer", + "podCidr": "10.244.0.0/16", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidr": "10.0.0.0/16", + "serviceCidrs": [ + "10.0.0.0/16" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" }, "upgradeSettings": { "overrideSettings": { @@ -108,8 +104,14 @@ "until": "2022-11-01T13:00:00Z" } } + }, + "tags": { + "archv2": "", + "tier": "production" } } } - } + }, + "operationId": "ManagedClusters_Get", + "title": "Get Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGetAccessProfile.json index b1fc4c3e0265..1683d8ce75de 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGetAccessProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGetAccessProfile.json @@ -1,22 +1,24 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "roleName": "clusterUser" + "roleName": "clusterUser", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { + "name": "clusterUser", + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", "location": "location1", - "name": "clusterUser", "properties": { "kubeConfig": "a3ViZUNvbmZpZzE=" - }, - "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } } } - } + }, + "operationId": "ManagedClusters_GetAccessProfile", + "title": "Get Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGetUpgradeProfile.json index 965198ed8610..82c47e6fa6ab 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGetUpgradeProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGetUpgradeProfile.json @@ -1,49 +1,51 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", "name": "default", + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", "properties": { "agentPoolProfiles": [ { - "kubernetesVersion": "1.7.7", "name": "agent", + "kubernetesVersion": "1.7.7", "osType": "Linux", "upgrades": [ { "kubernetesVersion": "1.7.9" }, { - "kubernetesVersion": "1.7.11", - "isPreview": true + "isPreview": true, + "kubernetesVersion": "1.7.11" } ] } ], "controlPlaneProfile": { - "kubernetesVersion": "1.7.7", "name": "master", + "kubernetesVersion": "1.7.7", "osType": "Linux", "upgrades": [ { - "kubernetesVersion": "1.7.9", - "isPreview": true + "isPreview": true, + "kubernetesVersion": "1.7.9" }, { "kubernetesVersion": "1.7.11" } ] } - }, - "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } } } - } + }, + "operationId": "ManagedClusters_GetUpgradeProfile", + "title": "Get Upgrade Profile for Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet_MeshRevisionProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet_MeshRevisionProfile.json index d2086e0096e9..57e75dfc04dc 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet_MeshRevisionProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet_MeshRevisionProfile.json @@ -1,23 +1,19 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "location": "location1", - "mode": "istio" + "mode": "istio", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", - "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", "name": "istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", "properties": { "meshRevisions": [ { - "revision": "asm-1-17", - "upgrades": [ - "asm-1-18" - ], "compatibleWith": [ { "name": "kubernetes", @@ -28,11 +24,13 @@ "1.26" ] } + ], + "revision": "asm-1-17", + "upgrades": [ + "asm-1-18" ] }, { - "revision": "asm-1-18", - "upgrades": [], "compatibleWith": [ { "name": "kubernetes", @@ -43,11 +41,15 @@ "1.27" ] } - ] + ], + "revision": "asm-1-18", + "upgrades": [] } ] } } } - } + }, + "operationId": "ManagedClusters_GetMeshRevisionProfile", + "title": "Get a mesh revision profile for a mesh mode" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet_MeshUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet_MeshUpgradeProfile.json index 69b4b889fde3..3f191e0d3486 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet_MeshUpgradeProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersGet_MeshUpgradeProfile.json @@ -1,22 +1,18 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "mode": "istio", "resourceGroupName": "rg1", "resourceName": "clustername1", - "mode": "istio" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", - "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", "name": "istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", "properties": { - "revision": "asm-1-17", - "upgrades": [ - "asm-1-18" - ], "compatibleWith": [ { "name": "kubernetes", @@ -27,9 +23,15 @@ "1.26" ] } + ], + "revision": "asm-1-17", + "upgrades": [ + "asm-1-18" ] } } } - } + }, + "operationId": "ManagedClusters_GetMeshUpgradeProfile", + "title": "Gets version compatibility and upgrade profile for a service mesh in a cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList.json index cb8a9b0bce8e..10a3e3194604 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList.json @@ -8,35 +8,31 @@ "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", "eTag": "nvweuib", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "maxAgentPools": 1, - "dnsPrefix": "dnsprefix1", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", "agentPoolProfiles": [ { "name": "nodepool1", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", + "eTag": "byuefvwi", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6", - "eTag": "byuefvwi" + "vmSize": "Standard_DS1_v2" } ], + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -47,22 +43,28 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": false, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { + "dnsServiceIP": "10.0.0.10", "networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10" + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv2": "", + "tier": "production" } } ] } } - } + }, + "operationId": "ManagedClusters_List", + "title": "List Managed Clusters" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListByResourceGroup.json index 16d702329a20..92240eb6fac8 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListByResourceGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListByResourceGroup.json @@ -1,41 +1,37 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1" + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv2": "", - "tier": "production" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "kubernetesVersion": "1.9.6", - "currentKubernetesVersion": "1.9.6", - "maxAgentPools": 1, - "dnsPrefix": "dnsprefix1", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", "agentPoolProfiles": [ { "name": "nodepool1", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6" + "vmSize": "Standard_DS1_v2" } ], + "currentKubernetesVersion": "1.9.6", + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -46,22 +42,28 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": false, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "maxAgentPools": 1, "networkProfile": { + "dnsServiceIP": "10.0.0.10", "networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10" + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv2": "", + "tier": "production" } } ] } } - } + }, + "operationId": "ManagedClusters_ListByResourceGroup", + "title": "Get Managed Clusters by Resource Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterAdminCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterAdminCredentials.json index f2ace882d79f..ccad4efdf573 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterAdminCredentials.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterAdminCredentials.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -16,5 +16,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "title": "Get Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterMonitoringUserCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterMonitoringUserCredentials.json index f2ace882d79f..c71294f6d333 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterMonitoringUserCredentials.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterMonitoringUserCredentials.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -16,5 +16,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "title": "Get Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterUserCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterUserCredentials.json index f2ace882d79f..5abe34547a2b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterUserCredentials.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersListClusterUserCredentials.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -16,5 +16,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListClusterUserCredentials", + "title": "Get Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList_MeshRevisionProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList_MeshRevisionProfiles.json index d939b3d7b02a..c214b71fb3fb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList_MeshRevisionProfiles.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList_MeshRevisionProfiles.json @@ -1,24 +1,20 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "location1" + "location": "location1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", - "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", "name": "istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", "properties": { "meshRevisions": [ { - "revision": "asm-1-17", - "upgrades": [ - "asm-1-18" - ], "compatibleWith": [ { "name": "kubernetes", @@ -29,11 +25,13 @@ "1.26" ] } + ], + "revision": "asm-1-17", + "upgrades": [ + "asm-1-18" ] }, { - "revision": "asm-1-18", - "upgrades": [], "compatibleWith": [ { "name": "kubernetes", @@ -44,7 +42,9 @@ "1.27" ] } - ] + ], + "revision": "asm-1-18", + "upgrades": [] } ] } @@ -52,5 +52,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListMeshRevisionProfiles", + "title": "List mesh revision profiles in a location" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList_MeshUpgradeProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList_MeshUpgradeProfiles.json index c3c460c21cd7..9f24382865a1 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList_MeshUpgradeProfiles.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersList_MeshUpgradeProfiles.json @@ -1,23 +1,19 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", - "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", "name": "istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", "properties": { - "revision": "asm-1-17", - "upgrades": [ - "asm-1-18" - ], "compatibleWith": [ { "name": "kubernetes", @@ -28,11 +24,17 @@ "1.26" ] } + ], + "revision": "asm-1-17", + "upgrades": [ + "asm-1-18" ] } } ] } } - } + }, + "operationId": "ManagedClusters_ListMeshUpgradeProfiles", + "title": "Lists version compatibility and upgrade profile for all service meshes in a cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersResetAADProfile.json index 14cea171ad11..9123b4cfb179 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersResetAADProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersResetAADProfile.json @@ -1,15 +1,15 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "clientAppID": "clientappid", "serverAppID": "serverappid", "serverAppSecret": "serverappsecret", "tenantID": "tenantid" - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, @@ -18,5 +18,7 @@ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } } - } + }, + "operationId": "ManagedClusters_ResetAADProfile", + "title": "Reset AAD Profile" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersResetServicePrincipalProfile.json index ca9d31de83e8..097854723dcc 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersResetServicePrincipalProfile.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -1,13 +1,13 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "clientId": "clientid", "secret": "secret" - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, @@ -16,5 +16,7 @@ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" } } - } + }, + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "title": "Reset Service Principal Profile" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersRotateClusterCertificates.json index 99a13713f46f..7eb9414d224b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersRotateClusterCertificates.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersRotateClusterCertificates.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_RotateClusterCertificates", + "title": "Rotate Cluster Certificates" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersRotateServiceAccountSigningKeys.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersRotateServiceAccountSigningKeys.json index 99a13713f46f..cc2630df565f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersRotateServiceAccountSigningKeys.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersRotateServiceAccountSigningKeys.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", + "title": "Rotate Cluster Service Account Signing Keys" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersStart.json index 99a13713f46f..a31c34e704cc 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersStart.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersStart.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_Start", + "title": "Start Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersStop.json index 99a13713f46f..7c6fe3ec8e77 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersStop.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersStop.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -12,5 +12,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedClusters_Stop", + "title": "Stop Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersUpdateTags.json index f039b47189bd..1d5000c30514 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersUpdateTags.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedClustersUpdateTags.json @@ -1,43 +1,41 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "tags": { - "tier": "testing", - "archv3": "" + "archv3": "", + "tier": "testing" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", - "location": "location1", "name": "clustername1", - "tags": { - "archv3": "", - "tier": "testing" - }, "type": "Microsoft.ContainerService/ManagedClusters", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", "properties": { - "provisioningState": "Succeeded", - "kubernetesVersion": "1.9.6", - "dnsPrefix": "dnsprefix1", "agentPoolProfiles": [ { "name": "nodepool1", "count": 3, - "vmSize": "Standard_DS1_v2", + "currentOrchestratorVersion": "1.9.6", "maxPods": 110, + "orchestratorVersion": "1.9.6", "osType": "Linux", "provisioningState": "Succeeded", - "orchestratorVersion": "1.9.6", - "currentOrchestratorVersion": "1.9.6" + "vmSize": "Standard_DS1_v2" } ], + "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "dnsPrefix": "dnsprefix1", + "enableRBAC": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "kubernetesVersion": "1.9.6", "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -48,21 +46,30 @@ ] } }, - "servicePrincipalProfile": { - "clientId": "clientid" - }, - "nodeResourceGroup": "MC_rg1_clustername1_location1", - "enableRBAC": false, - "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", - "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", "networkProfile": { + "dnsServiceIP": "10.0.0.10", "networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10" + "serviceCidr": "10.0.0.0/16" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid" } + }, + "tags": { + "archv3": "", + "tier": "testing" } } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } } - } + }, + "operationId": "ManagedClusters_UpdateTags", + "title": "Update Managed Cluster Tags" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesCreate_Update.json index 1dab46149a65..f26ecb08c220 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesCreate_Update.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesCreate_Update.json @@ -1,100 +1,102 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "managedNamespaceName": "namespace1", "parameters": { - "tags": { - "tagKey1": "tagValue1" - }, "properties": { - "labels": { - "kubernetes.io/metadata.name": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" - }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" + } + }, + "tags": { + "tagKey1": "tagValue1" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "name": "namespace1", "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "location": "eastus2", - "tags": { - "tagKey1": "tagValue1" - }, "properties": { - "labels": { - "kubernetes.io/metadata.name": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Succeeded", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "name": "namespace1", "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "location": "eastus2", - "tags": { - "tagKey1": "tagValue1" - }, "properties": { - "labels": { - "kubernetes.io/metadata.name": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Updating", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.io/metadata.name": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Updating" + }, + "tags": { + "tagKey1": "tagValue1" } } } - } + }, + "operationId": "ManagedNamespaces_CreateOrUpdate", + "title": "Create/Update Managed Namespace" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesDelete.json index 9593ce270458..8825bc8b5cf3 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesDelete.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "managedNamespaceName": "namespace1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "managedNamespaceName": "namespace1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "ManagedNamespaces_Delete", + "title": "Delete Managed Namespace" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesGet.json index a85a9659c9aa..a178ea5a3a73 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesGet.json @@ -1,43 +1,45 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "managedNamespaceName": "namespace1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "managedNamespaceName": "namespace1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "name": "namespace1", "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", - "tags": { - "tagKey1": "tagValue1" - }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "location": "eastus2", "properties": { - "labels": { - "kubernetes.azure.com/managedByArm": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Succeeded", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" } } } - } + }, + "operationId": "ManagedNamespaces_Get", + "title": "Get Managed Namespace" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesList.json index eb1c259eac6b..b2c408ae8552 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesList.json @@ -1,47 +1,49 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "managedNamespaceName": "namespace1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "managedNamespaceName": "namespace1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "name": "namespace1", "type": "Microsoft.ContainerService/managedClusters/managedNamespaces", - "tags": { - "tagKey1": "tagValue1" - }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/managedNamespaces/namespace1", "location": "eastus2", "properties": { - "labels": { - "kubernetes.azure.com/managedByArm": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Succeeded", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1" } } ] } } - } + }, + "operationId": "ManagedNamespaces_ListByManagedCluster", + "title": "List namespaces by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesListCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesListCredentialResult.json index 650dec836963..b717b3ce1f42 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesListCredentialResult.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesListCredentialResult.json @@ -1,10 +1,10 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "managedNamespaceName": "namespace1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "managedNamespaceName": "namespace1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -17,5 +17,7 @@ ] } } - } + }, + "operationId": "ManagedNamespaces_ListCredential", + "title": "List managed namespace credentials" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesUpdateTags.json index c10ea149ed76..8ab11db3c011 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesUpdateTags.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ManagedNamespacesUpdateTags.json @@ -1,47 +1,49 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "managedNamespaceName": "namespace1", "parameters": { "tags": { "tagKey1": "tagValue1", "tagKey2": "tagValue2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "tags": { - "tagKey1": "tagValue1", - "tagKey2": "tagValue2" - }, "location": "eastus2", "properties": { - "labels": { - "kubernetes.azure.com/managedByArm": "true" - }, + "adoptionPolicy": "IfIdentical", "annotations": { "annatationKey": "annatationValue" }, - "provisioningState": "Succeeded", + "defaultNetworkPolicy": { + "egress": "AllowAll", + "ingress": "AllowSameNamespace" + }, "defaultResourceQuota": { - "cpuRequest": "3m", "cpuLimit": "3m", - "memoryRequest": "5Gi", - "memoryLimit": "5Gi" + "cpuRequest": "3m", + "memoryLimit": "5Gi", + "memoryRequest": "5Gi" }, - "defaultNetworkPolicy": { - "ingress": "AllowSameNamespace", - "egress": "AllowAll" + "deletePolicy": "Keep", + "labels": { + "kubernetes.azure.com/managedByArm": "true" }, - "adoptionPolicy": "IfIdentical", - "deletePolicy": "Keep" + "provisioningState": "Succeeded" + }, + "tags": { + "tagKey1": "tagValue1", + "tagKey2": "tagValue2" } } } - } + }, + "operationId": "ManagedNamespaces_Update", + "title": "Update Managed Namespace Tags" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/Operation_List.json index 9c952ec7bf10..b2ea9a261097 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/Operation_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/Operation_List.json @@ -7,3567 +7,3569 @@ "body": { "value": [ { + "name": "Microsoft.ContainerService/locations/operations/read", "display": { "description": "Gets the status of an asynchronous operation", "operation": "Get Operation", "provider": "Microsoft Container Service", "resource": "Operation" }, - "name": "Microsoft.ContainerService/locations/operations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/locations/orchestrators/read", "display": { "description": "Lists the supported orchestrators", "operation": "List Orchestrators", "provider": "Microsoft Container Service", "resource": "Orchestrator" }, - "name": "Microsoft.ContainerService/locations/orchestrators/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/operations/read", "display": { "description": "Lists operations available on Microsoft.ContainerService resource provider", "operation": "List Available Container Service Operations", "provider": "Microsoft Container Service", "resource": "Available Container Service Operations" }, - "name": "Microsoft.ContainerService/operations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/register/action", "display": { "description": "Registers Subscription with Microsoft.ContainerService resource provider", "operation": "Register Subscription for Container Service", "provider": "Microsoft Container Service", "resource": "Container Service Register Subscription" }, - "name": "Microsoft.ContainerService/register/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/unregister/action", "display": { "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", "operation": "Unregister Subscription for Container Service", "provider": "Microsoft Container Service", "resource": "Container Service Unregister Subscription" }, - "name": "Microsoft.ContainerService/unregister/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/locations/operationresults/read", "display": { "description": "Gets the status of an asynchronous operation result", "operation": "Get Operation Result", "provider": "Microsoft Container Service", "resource": "OperationResult" }, - "name": "Microsoft.ContainerService/locations/operationresults/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/containerServices/read", "display": { "description": "Get a container service", "operation": "Get Container Service", "provider": "Microsoft Container Service", "resource": "Container Services" }, - "name": "Microsoft.ContainerService/containerServices/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/containerServices/write", "display": { "description": "Creates a new container service or updates an existing one", "operation": "Create or Update Container Service", "provider": "Microsoft Container Service", "resource": "Container Services" }, - "name": "Microsoft.ContainerService/containerServices/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/containerServices/delete", "display": { "description": "Deletes a container service", "operation": "Delete Container Service", "provider": "Microsoft Container Service", "resource": "Container Services" }, - "name": "Microsoft.ContainerService/containerServices/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/read", "display": { "description": "Get a managed cluster", "operation": "Get Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/write", "display": { "description": "Creates a new managed cluster or updates an existing one", "operation": "Create or Update Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/delete", "display": { "description": "Deletes a managed cluster", "operation": "Delete Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/start/action", "display": { "description": "Starts a managed cluster", "operation": "Start Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/start/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/stop/action", "display": { "description": "Stops a managed cluster", "operation": "Stop Managed Cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/stop/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", "display": { "description": "Gets a maintenance configuration", "operation": "Get a maintenance configuration", "provider": "Microsoft Container Service", "resource": "Maintenance Configurations" }, - "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", "display": { "description": "Creates a new MaintenanceConfiguration or updates an existing one", "operation": "Create or Update maintenance configuratio", "provider": "Microsoft Container Service", "resource": "Maintenance Configurations" }, - "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", "display": { "description": "Deletes a maintenance configuration", "operation": "Delete Maintenance Configuration", "provider": "Microsoft Container Service", "resource": "Maintenance Configurations" }, - "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", "display": { "description": "Gets an agent pool", "operation": "Get Agent Pool", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", "display": { "description": "Creates a new agent pool or updates an existing one", "operation": "Create or Update Agent Pool", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", "display": { "description": "Deletes an agent pool", "operation": "Delete Agent Pool", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", "display": { "description": "Gets the upgrade profile of the Agent Pool", "operation": "Get Agent Pool UpgradeProfile", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", "display": { "description": "Upgrade the node image version of agent pool", "operation": "Upgrade agent pool node image version", "provider": "Microsoft Container Service", "resource": "Agent Pools" }, - "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", "display": { "description": "Gets the available agent pool versions of the cluster", "operation": "Get Available Agent Pool Versions", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", "display": { "description": "Get a managed cluster access profile by role name", "operation": "Get Managed Cluster AccessProfile", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", "display": { "description": "Get a managed cluster access profile by role name using list credential", "operation": "Get Managed Cluster AccessProfile by List Credential", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", "display": { "description": "Gets the upgrade profile of the cluster", "operation": "Get UpgradeProfile", "provider": "Microsoft Container Service", "resource": "UpgradeProfile" }, - "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", "display": { "description": "List the clusterAdmin credential of a managed cluster", "operation": "List clusterAdmin credential", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", "display": { "description": "List the clusterUser credential of a managed cluster", "operation": "List clusterUser credential", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", "display": { "description": "List the clusterMonitoringUser credential of a managed cluster", "operation": "List clusterMonitoringUser credential", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", "display": { "description": "Reset the service principal profile of a managed cluster", "operation": "Reset service principal profile", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", "display": { "description": "Resolve the private link service id of a managed cluster", "operation": "Resolve private link service id", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", "display": { "description": "Reset the AAD profile of a managed cluster", "operation": "Reset AAD profile", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", "display": { "description": "Rotate certificates of a managed cluster", "operation": "Rotate certificates of the cluster", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", "display": { "description": "Run user issued command against managed kubernetes server.", "operation": "RunCommand", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/runCommand/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", "display": { "description": "Retrieve result from previous issued command.", "operation": "CommandResult", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/commandResults/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", "display": { "description": "Get the diagnostic setting for a managed cluster resource", "operation": "Read Diagnostic Setting", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", "display": { "description": "Creates or updates the diagnostic setting for a managed cluster resource", "operation": "Write Diagnostic Setting", "provider": "Microsoft Container Service", "resource": "Managed Clusters" }, - "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/detectors/read", "display": { "description": "Get Managed Cluster Detector", "operation": "Get Managed Cluster Detector", "provider": "Microsoft Container Service", "resource": "Managed Cluster Detector" }, - "name": "Microsoft.ContainerService/managedClusters/detectors/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", "display": { "description": "Gets the diagnostics state of the cluster", "operation": "Get Diagnostics State", "provider": "Microsoft Container Service", "resource": "Diagnostics State" }, - "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", "display": { "description": "Determines if user is allowed to approve a private endpoint connection", "operation": "Approve Private Endpoint Connections", "provider": "Microsoft Container Service", "resource": "Approve Private Endpoint Connections" }, - "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", "display": { "description": "Get private endpoint connection", "operation": "Get private endpoint connection", "provider": "Microsoft Container Service", "resource": "Private Endpoint Connections" }, - "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", "display": { "description": "Approve or Reject a private endpoint connection", "operation": "Update private endpoint connection", "provider": "Microsoft Container Service", "resource": "Private Endpoint Connections" }, - "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", "display": { "description": "Delete private endpoint connection", "operation": "Delete private endpoint connection", "provider": "Microsoft Container Service", "resource": "Private Endpoint Connections" }, - "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", "display": { "description": "Gets an extension addon", "operation": "Get an extension addon", "provider": "Microsoft Container Service", "resource": "ExtensionAddons" }, - "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", "display": { "description": "Creates a new extension addon or updates an existing one", "operation": "Create or Update extension addon", "provider": "Microsoft Container Service", "resource": "ExtensionAddons" }, - "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", "display": { "description": "Deletes an extension addon", "operation": "Delete an extension addon", "provider": "Microsoft Container Service", "resource": "ExtensionAddons" }, - "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", "origin": "system" }, { + "name": "Microsoft.ContainerService/snapshots/read", "display": { "description": "Get a snapshot", "operation": "Get Snapshot", "provider": "Microsoft Container Service", "resource": "Snapshots" }, - "name": "Microsoft.ContainerService/snapshots/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/snapshots/write", "display": { "description": "Creates a new snapshot", "operation": "Create Snapshot", "provider": "Microsoft Container Service", "resource": "Snapshots" }, - "name": "Microsoft.ContainerService/snapshots/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/snapshots/delete", "display": { "description": "Deletes a snapshot", "operation": "Delete Snapshot", "provider": "Microsoft Container Service", "resource": "Snapshots" }, - "name": "Microsoft.ContainerService/snapshots/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", "display": { "description": "Get eventgrid filter", "operation": "Get eventgrid filter", "provider": "Microsoft Container Service", "resource": "EventGridFilters" }, - "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", "display": { "description": "Create or Update eventgrid filter", "operation": "Create or Update eventgrid filter", "provider": "Microsoft Container Service", "resource": "EventGridFilters" }, - "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", "display": { "description": "Delete an eventgrid filter", "operation": "Delete an eventgrid filter", "provider": "Microsoft Container Service", "resource": "EventGridFilters" }, - "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", "display": { "description": "Reads initializerconfigurations", "operation": "Gets/List initializerconfigurations resource", "provider": "Microsoft Container Service", "resource": "Initializerconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", "display": { "description": "Writes initializerconfigurations", "operation": "Creates/Updates initializerconfigurations resource", "provider": "Microsoft Container Service", "resource": "Initializerconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", "display": { "description": "Deletes/DeletesCollection initializerconfigurations resource", "operation": "Initializerconfigurations", "provider": "Microsoft Container Service", "resource": "Initializerconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", "display": { "description": "Reads mutatingwebhookconfigurations", "operation": "Gets/List mutatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Mutatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", "display": { "description": "Writes mutatingwebhookconfigurations", "operation": "Creates/Updates mutatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Mutatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", "display": { "description": "Deletes mutatingwebhookconfigurations", "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Mutatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", "display": { "description": "Reads validatingwebhookconfigurations", "operation": "Gets/List validatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Validatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", "display": { "description": "Writes validatingwebhookconfigurations", "operation": "Creates/Updates validatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Validatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", "display": { "description": "Deletes validatingwebhookconfigurations", "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", "provider": "Microsoft Container Service", "resource": "Validatingwebhookconfigurations" }, - "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", "display": { "description": "Reads customresourcedefinitions", "operation": "Gets/List customresourcedefinitions resource", "provider": "Microsoft Container Service", "resource": "Customresourcedefinitions" }, - "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", "display": { "description": "Writes customresourcedefinitions", "operation": "Creates/Updates customresourcedefinitions resource", "provider": "Microsoft Container Service", "resource": "Customresourcedefinitions" }, - "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", "display": { "description": "Deletes customresourcedefinitions", "operation": "Deletes/DeletesCollection customresourcedefinitions resource", "provider": "Microsoft Container Service", "resource": "Customresourcedefinitions" }, - "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", "display": { "description": "Reads apiservices", "operation": "Gets/List apiservices resource", "provider": "Microsoft Container Service", "resource": "Apiservices" }, - "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", "display": { "description": "Writes apiservices", "operation": "Creates/Updates apiservices resource", "provider": "Microsoft Container Service", "resource": "Apiservices" }, - "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", "display": { "description": "Deletes apiservices", "operation": "Deletes/DeletesCollection apiservices resource", "provider": "Microsoft Container Service", "resource": "Apiservices" }, - "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", "display": { "description": "Reads controllerrevisions", "operation": "Gets/List controllerrevisions resource", "provider": "Microsoft Container Service", "resource": "Controllerrevisions" }, - "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", "display": { "description": "Writes controllerrevisions", "operation": "Creates/Updates controllerrevisions resource", "provider": "Microsoft Container Service", "resource": "Controllerrevisions" }, - "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", "display": { "description": "Deletes controllerrevisions", "operation": "Deletes/DeletesCollection controllerrevisions resource", "provider": "Microsoft Container Service", "resource": "Controllerrevisions" }, - "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", "display": { "description": "Reads daemonsets", "operation": "Gets/List daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", "display": { "description": "Writes daemonsets", "operation": "Creates/Updates daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", "display": { "description": "Deletes daemonsets", "operation": "Deletes/DeletesCollection daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", "display": { "description": "Reads deployments", "operation": "Gets/List deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", "display": { "description": "Writes deployments", "operation": "Creates/Updates deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", "display": { "description": "Deletes deployments", "operation": "Deletes/DeletesCollection deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", "display": { "description": "Reads replicasets", "operation": "Gets/List replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", "display": { "description": "Writes replicasets", "operation": "Creates/Updates replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", "display": { "description": "Deletes replicasets", "operation": "Deletes/DeletesCollection replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", "display": { "description": "Reads statefulsets", "operation": "Gets/List statefulsets resource", "provider": "Microsoft Container Service", "resource": "Statefulsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", "display": { "description": "Writes statefulsets", "operation": "Creates/Updates statefulsets resource", "provider": "Microsoft Container Service", "resource": "Statefulsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", "display": { "description": "Deletes statefulsets", "operation": "Deletes/DeletesCollection statefulsets resource", "provider": "Microsoft Container Service", "resource": "Statefulsets" }, - "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", "display": { "description": "Writes tokenreviews", "operation": "Creates/Updates tokenreviews resource", "provider": "Microsoft Container Service", "resource": "Tokenreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", "display": { "description": "Writes localsubjectaccessreviews", "operation": "Creates/Updates localsubjectaccessreviews resource", "provider": "Microsoft Container Service", "resource": "Localsubjectaccessreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", "display": { "description": "Writes selfsubjectaccessreviews", "operation": "Creates/Updates selfsubjectaccessreviews resource", "provider": "Microsoft Container Service", "resource": "Selfsubjectaccessreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", "display": { "description": "Writes selfsubjectrulesreviews", "operation": "Creates/Updates selfsubjectrulesreviews resource", "provider": "Microsoft Container Service", "resource": "Selfsubjectrulesreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", "display": { "description": "Writes subjectaccessreviews", "operation": "Creates/Updates subjectaccessreviews resource", "provider": "Microsoft Container Service", "resource": "Subjectaccessreviews" }, - "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", "display": { "description": "Reads horizontalpodautoscalers", "operation": "Gets/List horizontalpodautoscalers resource", "provider": "Microsoft Container Service", "resource": "Horizontalpodautoscalers" }, - "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", "display": { "description": "Writes horizontalpodautoscalers", "operation": "Creates/Updates horizontalpodautoscalers resource", "provider": "Microsoft Container Service", "resource": "Horizontalpodautoscalers" }, - "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", "display": { "description": "Deletes horizontalpodautoscalers", "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", "provider": "Microsoft Container Service", "resource": "Horizontalpodautoscalers" }, - "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", "display": { "description": "Reads cronjobs", "operation": "Gets/List cronjobs resource", "provider": "Microsoft Container Service", "resource": "Cronjobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", "display": { "description": "Writes cronjobs", "operation": "Creates/Updates cronjobs resource", "provider": "Microsoft Container Service", "resource": "Cronjobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", "display": { "description": "Deletes cronjobs", "operation": "Deletes/DeletesCollection cronjobs resource", "provider": "Microsoft Container Service", "resource": "Cronjobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", "display": { "description": "Reads jobs", "operation": "Gets/List jobs resource", "provider": "Microsoft Container Service", "resource": "Jobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", "display": { "description": "Writes jobs", "operation": "Creates/Updates jobs resource", "provider": "Microsoft Container Service", "resource": "Jobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", "display": { "description": "Deletes jobs", "operation": "Deletes/DeletesCollection jobs resource", "provider": "Microsoft Container Service", "resource": "Jobs" }, - "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", "display": { "description": "Reads certificatesigningrequests", "operation": "Gets/List certificatesigningrequests resource", "provider": "Microsoft Container Service", "resource": "Certificatesigningrequests" }, - "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", "display": { "description": "Writes certificatesigningrequests", "operation": "Creates/Updates certificatesigningrequests resource", "provider": "Microsoft Container Service", "resource": "Certificatesigningrequests" }, - "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", "display": { "description": "Deletes certificatesigningrequests", "operation": "Deletes/DeletesCollection certificatesigningrequests resource", "provider": "Microsoft Container Service", "resource": "Certificatesigningrequests" }, - "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", "display": { "description": "Reads leases", "operation": "Gets/List leases resource", "provider": "Microsoft Container Service", "resource": "Leases" }, - "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", "display": { "description": "Writes leases", "operation": "Creates/Updates leases resource", "provider": "Microsoft Container Service", "resource": "Leases" }, - "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", "display": { "description": "Deletes leases", "operation": "Deletes/DeletesCollection leases resource", "provider": "Microsoft Container Service", "resource": "Leases" }, - "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/bindings/write", "display": { "description": "Writes bindings", "operation": "Creates/Updates bindings resource", "provider": "Microsoft Container Service", "resource": "Bindings" }, - "name": "Microsoft.ContainerService/managedClusters/bindings/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", "display": { "description": "Reads componentstatuses", "operation": "Gets/List componentstatuses resource", "provider": "Microsoft Container Service", "resource": "Componentstatuses" }, - "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", "display": { "description": "Writes componentstatuses", "operation": "Creates/Updates componentstatuses resource", "provider": "Microsoft Container Service", "resource": "Componentstatuses" }, - "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", "display": { "description": "Deletes componentstatuses", "operation": "Deletes/DeletesCollection componentstatuses resource", "provider": "Microsoft Container Service", "resource": "Componentstatuses" }, - "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", "display": { "description": "Reads configmaps", "operation": "Gets/List configmaps resource", "provider": "Microsoft Container Service", "resource": "Configmaps" }, - "name": "Microsoft.ContainerService/managedClusters/configmaps/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", "display": { "description": "Writes configmaps", "operation": "Creates/Updates configmaps resource", "provider": "Microsoft Container Service", "resource": "Configmaps" }, - "name": "Microsoft.ContainerService/managedClusters/configmaps/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", "display": { "description": "Deletes configmaps", "operation": "Deletes/DeletesCollection configmaps resource", "provider": "Microsoft Container Service", "resource": "Configmaps" }, - "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", "display": { "description": "Reads endpoints", "operation": "Gets/List endpoints resource", "provider": "Microsoft Container Service", "resource": "Endpoints" }, - "name": "Microsoft.ContainerService/managedClusters/endpoints/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", "display": { "description": "Writes endpoints", "operation": "Creates/Updates endpoints resource", "provider": "Microsoft Container Service", "resource": "Endpoints" }, - "name": "Microsoft.ContainerService/managedClusters/endpoints/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", "display": { "description": "Deletes endpoints", "operation": "Deletes/DeletesCollection endpoints resource", "provider": "Microsoft Container Service", "resource": "Endpoints" }, - "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events/read", "display": { "description": "Reads events", "operation": "Gets/List events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events/write", "display": { "description": "Writes events", "operation": "Creates/Updates events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events/delete", "display": { "description": "Deletes events", "operation": "Deletes/DeletesCollection events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", "display": { "description": "Reads limitranges", "operation": "Gets/List limitranges resource", "provider": "Microsoft Container Service", "resource": "Limitranges" }, - "name": "Microsoft.ContainerService/managedClusters/limitranges/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", "display": { "description": "Writes limitranges", "operation": "Creates/Updates limitranges resource", "provider": "Microsoft Container Service", "resource": "Limitranges" }, - "name": "Microsoft.ContainerService/managedClusters/limitranges/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", "display": { "description": "Deletes limitranges", "operation": "Deletes/DeletesCollection limitranges resource", "provider": "Microsoft Container Service", "resource": "Limitranges" }, - "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", "display": { "description": "Reads namespaces", "operation": "Gets/List namespaces resource", "provider": "Microsoft Container Service", "resource": "Namespaces" }, - "name": "Microsoft.ContainerService/managedClusters/namespaces/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", "display": { "description": "Writes namespaces", "operation": "Creates/Updates namespaces resource", "provider": "Microsoft Container Service", "resource": "Namespaces" }, - "name": "Microsoft.ContainerService/managedClusters/namespaces/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", "display": { "description": "Deletes namespaces", "operation": "Deletes/DeletesCollection namespaces resource", "provider": "Microsoft Container Service", "resource": "Namespaces" }, - "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/nodes/read", "display": { "description": "Reads nodes", "operation": "Gets/List nodes resource", "provider": "Microsoft Container Service", "resource": "Nodes" }, - "name": "Microsoft.ContainerService/managedClusters/nodes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/nodes/write", "display": { "description": "Writes nodes", "operation": "Creates/Updates nodes resource", "provider": "Microsoft Container Service", "resource": "Nodes" }, - "name": "Microsoft.ContainerService/managedClusters/nodes/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", "display": { "description": "Deletes nodes", "operation": "Deletes/DeletesCollection nodes resource", "provider": "Microsoft Container Service", "resource": "Nodes" }, - "name": "Microsoft.ContainerService/managedClusters/nodes/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", "display": { "description": "Reads persistentvolumeclaims", "operation": "Gets/List persistentvolumeclaims resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumeclaims" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", "display": { "description": "Writes persistentvolumeclaims", "operation": "Creates/Updates persistentvolumeclaims resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumeclaims" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", "display": { "description": "Deletes persistentvolumeclaims", "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumeclaims" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", "display": { "description": "Reads persistentvolumes", "operation": "Gets/List persistentvolumes resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumes" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", "display": { "description": "Writes persistentvolumes", "operation": "Creates/Updates persistentvolumes resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumes" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", "display": { "description": "Deletes persistentvolumes", "operation": "Deletes/DeletesCollection persistentvolumes resource", "provider": "Microsoft Container Service", "resource": "Persistentvolumes" }, - "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/pods/read", "display": { "description": "Reads pods", "operation": "Gets/List pods resource", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/pods/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/pods/write", "display": { "description": "Writes pods", "operation": "Creates/Updates pods resource", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/pods/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/pods/delete", "display": { "description": "Deletes pods", "operation": "Deletes/DeletesCollection pods resource", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/pods/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", "display": { "description": "Exec into pods resource", "operation": "Exec into pods resource ", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", "display": { "description": "Reads podtemplates", "operation": "Gets/List podtemplates resource", "provider": "Microsoft Container Service", "resource": "Podtemplates" }, - "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", "display": { "description": "Writes podtemplates", "operation": "Creates/Updates podtemplates resource", "provider": "Microsoft Container Service", "resource": "Podtemplates" }, - "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", "display": { "description": "Deletes podtemplates", "operation": "Deletes/DeletesCollection podtemplates resource", "provider": "Microsoft Container Service", "resource": "Podtemplates" }, - "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", "display": { "description": "Reads replicationcontrollers", "operation": "Gets/List replicationcontrollers resource", "provider": "Microsoft Container Service", "resource": "Replicationcontrollers" }, - "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", "display": { "description": "Writes replicationcontrollers", "operation": "Creates/Updates replicationcontrollers resource", "provider": "Microsoft Container Service", "resource": "Replicationcontrollers" }, - "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", "display": { "description": "Deletes replicationcontrollers", "operation": "Deletes/DeletesCollection replicationcontrollers resource", "provider": "Microsoft Container Service", "resource": "Replicationcontrollers" }, - "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", "display": { "description": "Reads resourcequotas", "operation": "Gets/List resourcequotas resource", "provider": "Microsoft Container Service", "resource": "Resourcequotas" }, - "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", "display": { "description": "Writes resourcequotas", "operation": "Creates/Updates resourcequotas resource", "provider": "Microsoft Container Service", "resource": "Resourcequotas" }, - "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", "display": { "description": "Deletes resourcequotas", "operation": "Deletes/DeletesCollection resourcequotas resource", "provider": "Microsoft Container Service", "resource": "Resourcequotas" }, - "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/secrets/read", "display": { "description": "Reads secrets", "operation": "Gets/List secrets resource", "provider": "Microsoft Container Service", "resource": "Secrets" }, - "name": "Microsoft.ContainerService/managedClusters/secrets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/secrets/write", "display": { "description": "Writes secrets", "operation": "Creates/Updates secrets resource", "provider": "Microsoft Container Service", "resource": "Secrets" }, - "name": "Microsoft.ContainerService/managedClusters/secrets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", "display": { "description": "Deletes secrets", "operation": "Deletes/DeletesCollection secrets resource", "provider": "Microsoft Container Service", "resource": "Secrets" }, - "name": "Microsoft.ContainerService/managedClusters/secrets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", "display": { "description": "Reads serviceaccounts", "operation": "Gets/List serviceaccounts resource", "provider": "Microsoft Container Service", "resource": "Serviceaccounts" }, - "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", "display": { "description": "Writes serviceaccounts", "operation": "Creates/Updates serviceaccounts resource", "provider": "Microsoft Container Service", "resource": "Serviceaccounts" }, - "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", "display": { "description": "Deletes serviceaccounts", "operation": "Deletes/DeletesCollection serviceaccounts resource", "provider": "Microsoft Container Service", "resource": "Serviceaccounts" }, - "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/services/read", "display": { "description": "Reads services", "operation": "Gets/List services resource", "provider": "Microsoft Container Service", "resource": "Services" }, - "name": "Microsoft.ContainerService/managedClusters/services/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/services/write", "display": { "description": "Writes services", "operation": "Creates/Updates services resource", "provider": "Microsoft Container Service", "resource": "Services" }, - "name": "Microsoft.ContainerService/managedClusters/services/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/services/delete", "display": { "description": "Deletes services", "operation": "Deletes/DeletesCollection services resource", "provider": "Microsoft Container Service", "resource": "Services" }, - "name": "Microsoft.ContainerService/managedClusters/services/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", "display": { "description": "Reads events", "operation": "Gets/List events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", "display": { "description": "Writes events", "operation": "Creates/Updates events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", "display": { "description": "Deletes events", "operation": "Deletes/DeletesCollection events resource", "provider": "Microsoft Container Service", "resource": "Events" }, - "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", "display": { "description": "Reads daemonsets", "operation": "Gets/List daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", "display": { "description": "Writes daemonsets", "operation": "Creates/Updates daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", "display": { "description": "Deletes daemonsets", "operation": "Deletes/DeletesCollection daemonsets resource", "provider": "Microsoft Container Service", "resource": "Daemonsets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", "display": { "description": "Reads deployments", "operation": "Gets/List deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", "display": { "description": "Writes deployments", "operation": "Creates/Updates deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", "display": { "description": "Deletes deployments", "operation": "Deletes/DeletesCollection deployments resource", "provider": "Microsoft Container Service", "resource": "Deployments" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", "display": { "description": "Reads ingresses", "operation": "Gets/List ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", "display": { "description": "Writes ingresses", "operation": "Creates/Updates ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", "display": { "description": "Deletes ingresses", "operation": "Deletes/DeletesCollection ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", "display": { "description": "Reads networkpolicies", "operation": "Gets/List networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", "display": { "description": "Writes networkpolicies", "operation": "Creates/Updates networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", "display": { "description": "Deletes networkpolicies", "operation": "Deletes/DeletesCollection networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", "display": { "description": "Reads podsecuritypolicies", "operation": "Gets/List podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", "display": { "description": "Writes podsecuritypolicies", "operation": "Creates/Updates podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", "display": { "description": "Deletes podsecuritypolicies", "operation": "Deletes/DeletesCollection podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", "display": { "description": "Reads replicasets", "operation": "Gets/List replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", "display": { "description": "Writes replicasets", "operation": "Creates/Updates replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", "display": { "description": "Deletes replicasets", "operation": "Deletes/DeletesCollection replicasets resource", "provider": "Microsoft Container Service", "resource": "Replicasets" }, - "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", "display": { "description": "Reads pods", "operation": "Gets/List pods resource", "provider": "Microsoft Container Service", "resource": "Pods" }, - "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", "display": { "description": "Reads nodes", "operation": "Gets/List nodes resource", "provider": "Microsoft Container Service", "resource": "Nodes" }, - "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", "display": { "description": "Reads networkpolicies", "operation": "Gets/List networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", "display": { "description": "Writes networkpolicies", "operation": "Creates/Updates networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", "display": { "description": "Deletes networkpolicies", "operation": "Deletes/DeletesCollection networkpolicies resource", "provider": "Microsoft Container Service", "resource": "Networkpolicies" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", "display": { "description": "Reads ingresses", "operation": "Gets/List ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", "display": { "description": "Writes ingresses", "operation": "Creates/Updates ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", "display": { "description": "Deletes ingresses", "operation": "Deletes/DeletesCollection ingresses resource", "provider": "Microsoft Container Service", "resource": "Ingresses" }, - "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", "display": { "description": "Reads runtimeclasses", "operation": "Gets/List runtimeclasses resource", "provider": "Microsoft Container Service", "resource": "Runtimeclasses" }, - "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", "display": { "description": "Writes runtimeclasses", "operation": "Creates/Updates runtimeclasses resource", "provider": "Microsoft Container Service", "resource": "Runtimeclasses" }, - "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", "display": { "description": "Deletes runtimeclasses", "operation": "Deletes/DeletesCollection runtimeclasses resource", "provider": "Microsoft Container Service", "resource": "Runtimeclasses" }, - "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/api/read", "display": { "description": "Reads api", "operation": "Gets/List api resource", "provider": "Microsoft Container Service", "resource": "Api" }, - "name": "Microsoft.ContainerService/managedClusters/api/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", "display": { "description": "Reads api/v1", "operation": "Gets/List api/v1 resource", "provider": "Microsoft Container Service", "resource": "Api/V1" }, - "name": "Microsoft.ContainerService/managedClusters/api/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/read", "display": { "description": "Reads apis", "operation": "Gets/List apis resource", "provider": "Microsoft Container Service", "resource": "Apis" }, - "name": "Microsoft.ContainerService/managedClusters/apis/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", "display": { "description": "Reads admissionregistration.k8s.io", "operation": "Gets/List admissionregistration.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Admissionregistration.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", "display": { "description": "Reads admissionregistration.k8s.io/v1", "operation": "Gets/List admissionregistration.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Admissionregistration.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", "display": { "description": "Reads admissionregistration.k8s.io/v1beta1", "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Admissionregistration.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", "display": { "description": "Reads apiextensions.k8s.io", "operation": "Gets/List apiextensions.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Apiextensions.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", "display": { "description": "Reads apiextensions.k8s.io/v1", "operation": "Gets/List apiextensions.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Apiextensions.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", "display": { "description": "Reads apiextensions.k8s.io/v1beta1", "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Apiextensions.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", "display": { "description": "Reads apiregistration.k8s.io", "operation": "Gets/List apiregistration.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Apiregistration.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", "display": { "description": "Reads apiregistration.k8s.io/v1", "operation": "Gets/List apiregistration.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Apiregistration.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", "display": { "description": "Reads apiregistration.k8s.io/v1beta1", "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Apiregistration.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", "display": { "description": "Reads apps", "operation": "Gets/List apps resource", "provider": "Microsoft Container Service", "resource": "Apps" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", "display": { "description": "Reads apps/v1", "operation": "Gets/List apps/v1 resource", "provider": "Microsoft Container Service", "resource": "Apps/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", "display": { "description": "Reads apps/v1beta1", "operation": "Gets/List apps/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Apps/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", "display": { "description": "Reads apps/v1beta2", "operation": "Gets/List apps/v1beta2 resource", "provider": "Microsoft Container Service", "resource": "Apps/V1beta2" }, - "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", "display": { "description": "Reads authentication.k8s.io", "operation": "Gets/List authentication.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Authentication.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", "display": { "description": "Reads authentication.k8s.io/v1", "operation": "Gets/List authentication.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Authentication.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", "display": { "description": "Reads authentication.k8s.io/v1beta1", "operation": "Gets/List authentication.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Authentication.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", "display": { "description": "Reads authorization.k8s.io", "operation": "Gets/List authorization.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Authorization.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", "display": { "description": "Reads authorization.k8s.io/v1", "operation": "Gets/List authorization.k8s.io/v1 resource", "provider": "Microsoft Container Service", "resource": "Authorization.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", "display": { "description": "Reads authorization.k8s.io/v1beta1", "operation": "Gets/List authorization.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Authorization.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", "display": { "description": "Reads autoscaling", "operation": "Gets/List autoscaling resource", "provider": "Microsoft Container Service", "resource": "Autoscaling" }, - "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", "display": { "description": "Reads autoscaling/v1", "operation": "Gets/List autoscaling/v1 resource", "provider": "Microsoft Container Service", "resource": "Autoscaling/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", "display": { "description": "Reads autoscaling/v2beta1", "operation": "Gets/List autoscaling/v2beta1 resource", "provider": "Microsoft Container Service", "resource": "Autoscaling/V2beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", "display": { "description": "Reads autoscaling/v2beta2", "operation": "Gets/List autoscaling/v2beta2 resource", "provider": "Microsoft Container Service", "resource": "Autoscaling/V2beta2" }, - "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", "display": { "description": "Reads batch", "operation": "Gets/List batch resource", "provider": "Microsoft Container Service", "resource": "Batch" }, - "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", "display": { "description": "Reads batch/v1", "operation": "Gets/List batch/v1 resource", "provider": "Microsoft Container Service", "resource": "Batch/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", "display": { "description": "Reads batch/v1beta1", "operation": "Gets/List batch/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Batch/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", "display": { "description": "Reads certificates.k8s.io", "operation": "Gets/List certificates.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Certificates.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", "display": { "description": "Reads certificates.k8s.io/v1beta1", "operation": "Gets/List certificates.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Certificates.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", "display": { "description": "Reads coordination.k8s.io", "operation": "Gets/List coordination.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Coordination.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", "display": { "description": "Reads coordination/v1", "operation": "Gets/List coordination/v1 resource", "provider": "Microsoft Container Service", "resource": "Coordination.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", "display": { "description": "Reads coordination.k8s.io/v1beta1", "operation": "Gets/List coordination.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Coordination.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", "display": { "description": "Reads events.k8s.io", "operation": "Gets/List events.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Events.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", "display": { "description": "Reads events.k8s.io/v1beta1", "operation": "Gets/List events.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Events.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", "display": { "description": "Reads extensions", "operation": "Gets/List extensions resource", "provider": "Microsoft Container Service", "resource": "Extensions" }, - "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", "display": { "description": "Reads extensions/v1beta1", "operation": "Gets/List extensions/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Extensions/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", "display": { "description": "Reads metrics.k8s.io", "operation": "Gets/List metrics.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Metrics.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", "display": { "description": "Reads metrics.k8s.io/v1beta1", "operation": "Gets/List metrics.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Metrics.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", "display": { "description": "Reads networking.k8s.io", "operation": "Gets/List networking.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Networking.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", "display": { "description": "Reads networking/v1", "operation": "Gets/List networking/v1 resource", "provider": "Microsoft Container Service", "resource": "Networking.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", "display": { "description": "Reads networking.k8s.io/v1beta1", "operation": "Gets/List networking.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Networking.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", "display": { "description": "Reads node.k8s.io", "operation": "Gets/List node.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Node.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", "display": { "description": "Reads node.k8s.io/v1beta1", "operation": "Gets/List node.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Node.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", "display": { "description": "Reads policy", "operation": "Gets/List policy resource", "provider": "Microsoft Container Service", "resource": "Policy" }, - "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", "display": { "description": "Reads policy/v1beta1", "operation": "Gets/List policy/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Policy/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", "display": { "description": "Reads rbac.authorization.k8s.io", "operation": "Gets/List rbac.authorization.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Rbac.Authorization.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", "display": { "description": "Reads rbac.authorization/v1", "operation": "Gets/List rbac.authorization/v1 resource", "provider": "Microsoft Container Service", "resource": "Rbac.Authorization.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", "display": { "description": "Reads rbac.authorization.k8s.io/v1beta1", "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Rbac.Authorization.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", "display": { "description": "Reads scheduling.k8s.io", "operation": "Gets/List scheduling.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Scheduling.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", "display": { "description": "Reads scheduling/v1", "operation": "Gets/List scheduling/v1 resource", "provider": "Microsoft Container Service", "resource": "Scheduling.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", "display": { "description": "Reads scheduling.k8s.io/v1beta1", "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Scheduling.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", "display": { "description": "Reads storage.k8s.io", "operation": "Gets/List storage.k8s.io resource", "provider": "Microsoft Container Service", "resource": "Storage.K8s.Io" }, - "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", "display": { "description": "Reads storage/v1", "operation": "Gets/List storage/v1 resource", "provider": "Microsoft Container Service", "resource": "Storage.K8s.Io/V1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", "display": { "description": "Reads storage.k8s.io/v1beta1", "operation": "Gets/List storage.k8s.io/v1beta1 resource", "provider": "Microsoft Container Service", "resource": "Storage.K8s.Io/V1beta1" }, - "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/read", "display": { "description": "Reads healthz", "operation": "Gets/List healthz resource", "provider": "Microsoft Container Service", "resource": "Healthz" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", "display": { "description": "Reads autoregister-completion", "operation": "Gets/List autoregister-completion resource", "provider": "Microsoft Container Service", "resource": "Healthz/Autoregister-Completion" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", "display": { "description": "Reads etcd", "operation": "Gets/List etcd resource", "provider": "Microsoft Container Service", "resource": "Healthz/Etcd" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", "display": { "description": "Reads log", "operation": "Gets/List log resource", "provider": "Microsoft Container Service", "resource": "Healthz/Log" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", "display": { "description": "Reads ping", "operation": "Gets/List ping resource", "provider": "Microsoft Container Service", "resource": "Healthz/Ping" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", "display": { "description": "Reads apiservice-openapi-controller", "operation": "Gets/List apiservice-openapi-controller resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", "display": { "description": "Reads apiservice-registration-controller", "operation": "Gets/List apiservice-registration-controller resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", "display": { "description": "Reads apiservice-status-available-controller", "operation": "Gets/List apiservice-status-available-controller resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", "display": { "description": "Reads bootstrap-controller", "operation": "Gets/List bootstrap-controller resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Bootstrap-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", "display": { "description": "Reads ca-registration", "operation": "Gets/List ca-registration resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Ca-Registration" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", "display": { "description": "Reads crd-informer-synced", "operation": "Gets/List crd-informer-synced resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Crd-Informer-Synced" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", "display": { "description": "Reads generic-apiserver-start-informers", "operation": "Gets/List generic-apiserver-start-informers resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", "display": { "description": "Reads kube-apiserver-autoregistration", "operation": "Gets/List kube-apiserver-autoregistration resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", "display": { "description": "Reads bootstrap-roles", "operation": "Gets/List bootstrap-roles resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Bootstrap-Roles" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", "display": { "description": "Reads bootstrap-system-priority-classes", "operation": "Gets/List bootstrap-system-priority-classes resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", "display": { "description": "Reads start-apiextensions-controllers", "operation": "Gets/List start-apiextensions-controllers resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", "display": { "description": "Reads start-apiextensions-informers", "operation": "Gets/List start-apiextensions-informers resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", "display": { "description": "Reads start-kube-aggregator-informers", "operation": "Gets/List start-kube-aggregator-informers resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", "display": { "description": "Reads start-kube-apiserver-admission-initializer", "operation": "Gets/List start-kube-apiserver-admission-initializer resource", "provider": "Microsoft Container Service", "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" }, - "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/read", "display": { "description": "Reads livez", "operation": "Gets/List livez resource", "provider": "Microsoft Container Service", "resource": "Livez" }, - "name": "Microsoft.ContainerService/managedClusters/livez/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", "display": { "description": "Reads autoregister-completion", "operation": "Gets/List autoregister-completion resource", "provider": "Microsoft Container Service", "resource": "Livez/Autoregister-Completion" }, - "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", "display": { "description": "Reads etcd", "operation": "Gets/List etcd resource", "provider": "Microsoft Container Service", "resource": "Livez/Etcd" }, - "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", "display": { "description": "Reads log", "operation": "Gets/List log resource", "provider": "Microsoft Container Service", "resource": "Livez/Log" }, - "name": "Microsoft.ContainerService/managedClusters/livez/log/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", "display": { "description": "Reads ping", "operation": "Gets/List ping resource", "provider": "Microsoft Container Service", "resource": "Livez/Ping" }, - "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", "display": { "description": "Reads apiservice-openapi-controller", "operation": "Gets/List apiservice-openapi-controller resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", "display": { "description": "Reads apiservice-registration-controller", "operation": "Gets/List apiservice-registration-controller resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", "display": { "description": "Reads apiservice-status-available-controller", "operation": "Gets/List apiservice-status-available-controller resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", "display": { "description": "Reads bootstrap-controller", "operation": "Gets/List bootstrap-controller resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Bootstrap-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", "display": { "description": "Reads ca-registration", "operation": "Gets/List ca-registration resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Ca-Registration" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", "display": { "description": "Reads crd-informer-synced", "operation": "Gets/List crd-informer-synced resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Crd-Informer-Synced" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", "display": { "description": "Reads generic-apiserver-start-informers", "operation": "Gets/List generic-apiserver-start-informers resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", "display": { "description": "Reads kube-apiserver-autoregistration", "operation": "Gets/List kube-apiserver-autoregistration resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", "display": { "description": "Reads bootstrap-roles", "operation": "Gets/List bootstrap-roles resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Bootstrap-Roles" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", "display": { "description": "Reads bootstrap-system-priority-classes", "operation": "Gets/List bootstrap-system-priority-classes resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", "display": { "description": "Reads start-apiextensions-controllers", "operation": "Gets/List start-apiextensions-controllers resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", "display": { "description": "Reads start-apiextensions-informers", "operation": "Gets/List start-apiextensions-informers resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", "display": { "description": "Reads start-kube-aggregator-informers", "operation": "Gets/List start-kube-aggregator-informers resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", "display": { "description": "Reads start-kube-apiserver-admission-initializer", "operation": "Gets/List start-kube-apiserver-admission-initializer resource", "provider": "Microsoft Container Service", "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" }, - "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/logs/read", "display": { "description": "Reads logs", "operation": "Gets/List logs resource", "provider": "Microsoft Container Service", "resource": "Logs" }, - "name": "Microsoft.ContainerService/managedClusters/logs/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/metrics/read", "display": { "description": "Reads metrics", "operation": "Gets/List metrics resource", "provider": "Microsoft Container Service", "resource": "Metrics" }, - "name": "Microsoft.ContainerService/managedClusters/metrics/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", "display": { "description": "Reads v2", "operation": "Gets/List v2 resource", "provider": "Microsoft Container Service", "resource": "Openapi/V2" }, - "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/read", "display": { "description": "Reads readyz", "operation": "Gets/List readyz resource", "provider": "Microsoft Container Service", "resource": "Readyz" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", "display": { "description": "Reads autoregister-completion", "operation": "Gets/List autoregister-completion resource", "provider": "Microsoft Container Service", "resource": "Readyz/Autoregister-Completion" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", "display": { "description": "Reads etcd", "operation": "Gets/List etcd resource", "provider": "Microsoft Container Service", "resource": "Readyz/Etcd" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", "display": { "description": "Reads log", "operation": "Gets/List log resource", "provider": "Microsoft Container Service", "resource": "Readyz/Log" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", "display": { "description": "Reads ping", "operation": "Gets/List ping resource", "provider": "Microsoft Container Service", "resource": "Readyz/Ping" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", "display": { "description": "Reads apiservice-openapi-controller", "operation": "Gets/List apiservice-openapi-controller resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", "display": { "description": "Reads apiservice-registration-controller", "operation": "Gets/List apiservice-registration-controller resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", "display": { "description": "Reads apiservice-status-available-controller", "operation": "Gets/List apiservice-status-available-controller resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", "display": { "description": "Reads bootstrap-controller", "operation": "Gets/List bootstrap-controller resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Bootstrap-Controller" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", "display": { "description": "Reads ca-registration", "operation": "Gets/List ca-registration resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Ca-Registration" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", "display": { "description": "Reads crd-informer-synced", "operation": "Gets/List crd-informer-synced resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Crd-Informer-Synced" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", "display": { "description": "Reads generic-apiserver-start-informers", "operation": "Gets/List generic-apiserver-start-informers resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", "display": { "description": "Reads kube-apiserver-autoregistration", "operation": "Gets/List kube-apiserver-autoregistration resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", "display": { "description": "Reads bootstrap-roles", "operation": "Gets/List bootstrap-roles resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Bootstrap-Roles" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", "display": { "description": "Reads bootstrap-system-priority-classes", "operation": "Gets/List bootstrap-system-priority-classes resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", "display": { "description": "Reads start-apiextensions-controllers", "operation": "Gets/List start-apiextensions-controllers resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", "display": { "description": "Reads start-apiextensions-informers", "operation": "Gets/List start-apiextensions-informers resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", "display": { "description": "Reads start-kube-aggregator-informers", "operation": "Gets/List start-kube-aggregator-informers resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", "display": { "description": "Reads start-kube-apiserver-admission-initializer", "operation": "Gets/List start-kube-apiserver-admission-initializer resource", "provider": "Microsoft Container Service", "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", "display": { "description": "Reads shutdown", "operation": "Gets/List shutdown resource", "provider": "Microsoft Container Service", "resource": "Readyz/Shutdown" }, - "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", "display": { "description": "Reads resetMetrics", "operation": "Gets/List resetMetrics resource", "provider": "Microsoft Container Service", "resource": "Resetmetrics" }, - "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", "display": { "description": "Reads swagger-ui", "operation": "Gets/List swagger-ui resource", "provider": "Microsoft Container Service", "resource": "Swagger-Ui" }, - "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", "display": { "description": "Reads swagger-api", "operation": "Gets/List swagger-api resource", "provider": "Microsoft Container Service", "resource": "Swagger-Api" }, - "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/ui/read", "display": { "description": "Reads ui", "operation": "Gets/List ui resource", "provider": "Microsoft Container Service", "resource": "Ui" }, - "name": "Microsoft.ContainerService/managedClusters/ui/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/version/read", "display": { "description": "Reads version", "operation": "Gets/List version resource", "provider": "Microsoft Container Service", "resource": "Version" }, - "name": "Microsoft.ContainerService/managedClusters/version/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", "display": { "description": "Reads poddisruptionbudgets", "operation": "Gets/List poddisruptionbudgets resource", "provider": "Microsoft Container Service", "resource": "Poddisruptionbudgets" }, - "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", "display": { "description": "Writes poddisruptionbudgets", "operation": "Creates/Updates poddisruptionbudgets resource", "provider": "Microsoft Container Service", "resource": "Poddisruptionbudgets" }, - "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", "display": { "description": "Deletes poddisruptionbudgets", "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", "provider": "Microsoft Container Service", "resource": "Poddisruptionbudgets" }, - "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", "display": { "description": "Reads podsecuritypolicies", "operation": "Gets/List podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", "display": { "description": "Writes podsecuritypolicies", "operation": "Creates/Updates podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", "display": { "description": "Deletes podsecuritypolicies", "operation": "Deletes/DeletesCollection podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", "display": { "description": "Reads clusterrolebindings", "operation": "Gets/List clusterrolebindings resource", "provider": "Microsoft Container Service", "resource": "Clusterrolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", "display": { "description": "Writes clusterrolebindings", "operation": "Creates/Updates clusterrolebindings resource", "provider": "Microsoft Container Service", "resource": "Clusterrolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", "display": { "description": "Deletes clusterrolebindings", "operation": "Deletes/DeletesCollection clusterrolebindings resource", "provider": "Microsoft Container Service", "resource": "Clusterrolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", "display": { "description": "Reads clusterroles", "operation": "Gets/List clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", "display": { "description": "Writes clusterroles", "operation": "Creates/Updates clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", "display": { "description": "Deletes clusterroles", "operation": "Deletes/DeletesCollection clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", "display": { "description": "Reads rolebindings", "operation": "Gets/List rolebindings resource", "provider": "Microsoft Container Service", "resource": "Rolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", "display": { "description": "Writes rolebindings", "operation": "Creates/Updates rolebindings resource", "provider": "Microsoft Container Service", "resource": "Rolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", "display": { "description": "Deletes rolebindings", "operation": "Deletes/DeletesCollection rolebindings resource", "provider": "Microsoft Container Service", "resource": "Rolebindings" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", "display": { "description": "Reads roles", "operation": "Gets/List roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", "display": { "description": "Writes roles", "operation": "Creates/Updates roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", "display": { "description": "Deletes roles", "operation": "Deletes/DeletesCollection roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", "display": { "description": "Reads priorityclasses", "operation": "Gets/List priorityclasses resource", "provider": "Microsoft Container Service", "resource": "Priorityclasses" }, - "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", "display": { "description": "Writes priorityclasses", "operation": "Creates/Updates priorityclasses resource", "provider": "Microsoft Container Service", "resource": "Priorityclasses" }, - "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", "display": { "description": "Deletes priorityclasses", "operation": "Deletes/DeletesCollection priorityclasses resource", "provider": "Microsoft Container Service", "resource": "Priorityclasses" }, - "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", "display": { "description": "Use action on podsecuritypolicies", "operation": "Use podsecuritypolicies resource", "provider": "Microsoft Container Service", "resource": "Podsecuritypolicies" }, - "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", "display": { "description": "Binds clusterroles", "operation": "Bind clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", "display": { "description": "Escalates", "operation": "Escalate clusterroles resource", "provider": "Microsoft Container Service", "resource": "Clusterroles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", "display": { "description": "Binds roles", "operation": "Bind roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", "display": { "description": "Escalates roles", "operation": "Escalate roles resource", "provider": "Microsoft Container Service", "resource": "Roles" }, - "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", "display": { "description": "Impersonate serviceaccounts", "operation": "Impersonate serviceaccounts resource", "provider": "Microsoft Container Service", "resource": "Serviceaccounts" }, - "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", "display": { "description": "Impersonate users", "operation": "Impersonate users resource", "provider": "Microsoft Container Service", "resource": "Users" }, - "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", "display": { "description": "Impersonate groups", "operation": "Impersonate groups resource", "provider": "Microsoft Container Service", "resource": "Groups" }, - "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", "display": { "description": "Impersonate userextras", "operation": "Impersonate userextras resource", "provider": "Microsoft Container Service", "resource": "Userextras" }, - "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", "display": { "description": "Reads storageclasses", "operation": "Gets/List storageclasses resource", "provider": "Microsoft Container Service", "resource": "Storageclasses" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", "display": { "description": "Writes storageclasses", "operation": "Creates/Updates storageclasses resource", "provider": "Microsoft Container Service", "resource": "Storageclasses" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", "display": { "description": "Deletes storageclasses", "operation": "Deletes/DeletesCollection storageclasses resource", "provider": "Microsoft Container Service", "resource": "Storageclasses" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", "display": { "description": "Reads volumeattachments", "operation": "Gets/List volumeattachments resource", "provider": "Microsoft Container Service", "resource": "Volumeattachments" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", "display": { "description": "Writes volumeattachments", "operation": "Creates/Updates volumeattachments resource", "provider": "Microsoft Container Service", "resource": "Volumeattachments" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", "display": { "description": "Deletes volumeattachments", "operation": "Deletes/DeletesCollection volumeattachments resource", "provider": "Microsoft Container Service", "resource": "Volumeattachments" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", "display": { "description": "Reads csidrivers", "operation": "Gets/List csidrivers resource", "provider": "Microsoft Container Service", "resource": "Csidrivers" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", "display": { "description": "Writes csidrivers", "operation": "Creates/Updates csidrivers resource", "provider": "Microsoft Container Service", "resource": "Csidrivers" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", "display": { "description": "Deletes csidrivers", "operation": "Deletes/DeletesCollection csidrivers resource", "provider": "Microsoft Container Service", "resource": "Csidrivers" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", "display": { "description": "Reads csinodes", "operation": "Gets/List csinodes resource", "provider": "Microsoft Container Service", "resource": "Csinodes" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", "display": { "description": "Writes csinodes", "operation": "Creates/Updates csinodes resource", "provider": "Microsoft Container Service", "resource": "Csinodes" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", "display": { "description": "Deletes csinodes", "operation": "Deletes/DeletesCollection csinodes resource", "provider": "Microsoft Container Service", "resource": "Csinodes" }, - "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", "display": { "description": "Gets the available metrics for Managed Cluster", "operation": "Read Managed Cluster metric definitions", "provider": "Microsoft Container Service", "resource": "The metric definition of Managed Cluster" }, - "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", "display": { "description": "Gets the available logs for Managed Cluster", "operation": "Read Managed Cluster log definitions", "provider": "Microsoft Container Service", "resource": "The log definition of Managed Cluster" }, - "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", "origin": "system" }, { + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", "display": { "description": "Get a Open Shift Managed Cluster", "operation": "Get Open Shift Managed Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Managed Cluster" }, - "name": "Microsoft.ContainerService/openShiftManagedClusters/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", "display": { "description": "Creates a new Open Shift Managed Cluster or updates an existing one", "operation": "Create or Update Open Shift Managed Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Managed Cluster" }, - "name": "Microsoft.ContainerService/openShiftManagedClusters/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", "display": { "description": "Delete a Open Shift Managed Cluster", "operation": "Delete Open Shift Managed Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Managed Cluster" }, - "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftClusters/read", "display": { "description": "Get a Open Shift Cluster", "operation": "Get Open Shift Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Cluster" }, - "name": "Microsoft.ContainerService/openShiftClusters/read", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftClusters/write", "display": { "description": "Creates a new Open Shift Cluster or updates an existing one", "operation": "Create or Update Open Shift Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Cluster" }, - "name": "Microsoft.ContainerService/openShiftClusters/write", "origin": "user,system" }, { + "name": "Microsoft.ContainerService/openShiftClusters/delete", "display": { "description": "Delete a Open Shift Cluster", "operation": "Delete Open Shift Cluster", "provider": "Microsoft Container Service", "resource": "Open Shift Cluster" }, - "name": "Microsoft.ContainerService/openShiftClusters/delete", "origin": "user,system" } ] } } - } + }, + "operationId": "Operations_List", + "title": "List available operations for the container service resource provider" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/OutboundNetworkDependenciesEndpointsList.json index ec81665f81f9..9f6ae3e3839c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/OutboundNetworkDependenciesEndpointsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/OutboundNetworkDependenciesEndpointsList.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -48,9 +48,9 @@ "domainName": "*.data.mcr.microsoft.com", "endpointDetails": [ { + "description": "mcr cdn", "port": 443, - "protocol": "Https", - "description": "mcr cdn" + "protocol": "Https" } ] } @@ -238,5 +238,7 @@ ] } } - } + }, + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "title": "List OutboundNetworkDependenciesEndpoints by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsDelete.json index 02db47474fe8..c7d3ebfab457 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsDelete.json @@ -1,13 +1,20 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "privateEndpointConnectionName": "privateendpointconnection1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "privateEndpointConnectionName": "privateendpointconnection1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2025-10-01" + } + }, "204": {} - } + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "Delete Private Endpoint Connection" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsGet.json index 15c21ea45b9b..1523d14972ee 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsGet.json @@ -1,17 +1,17 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "privateEndpointConnectionName": "privateendpointconnection1", "resourceGroupName": "rg1", "resourceName": "clustername1", - "privateEndpointConnectionName": "privateendpointconnection1" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "name": "privateendpointconnection1", "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "properties": { "privateEndpoint": { "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" @@ -23,5 +23,7 @@ } } } - } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "Get Private Endpoint Connection" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsList.json index 2874aeadc85a..7114cf414787 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsList.json @@ -1,18 +1,18 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "name": "privateendpointconnection1", "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "properties": { "privateEndpoint": { "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" @@ -26,5 +26,7 @@ ] } } - } + }, + "operationId": "PrivateEndpointConnections_List", + "title": "List Private Endpoint Connections by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsUpdate.json index 4dc0351265be..c4959ff7e4d1 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsUpdate.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateEndpointConnectionsUpdate.json @@ -1,24 +1,24 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", - "privateEndpointConnectionName": "privateendpointconnection1", "parameters": { "properties": { "privateLinkServiceConnectionState": { "status": "Approved" } } - } + }, + "privateEndpointConnectionName": "privateendpointconnection1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "name": "privateendpointconnection1", "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "properties": { "privateEndpoint": { "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" @@ -32,9 +32,9 @@ }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "name": "privateendpointconnection1", "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", "properties": { "privateEndpoint": { "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" @@ -46,5 +46,7 @@ } } } - } + }, + "operationId": "PrivateEndpointConnections_Update", + "title": "Update Private Endpoint Connection" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateLinkResourcesList.json index 515a9ee2c070..5e961862f434 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateLinkResourcesList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/PrivateLinkResourcesList.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -13,13 +13,15 @@ "name": "management", "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", "groupId": "management", + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName", "requiredMembers": [ "management" - ], - "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + ] } ] } } - } + }, + "operationId": "PrivateLinkResources_List", + "title": "List Private Link Resources by Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ResolvePrivateLinkServiceId.json index 99ddf5a35d89..efb2dd5bd062 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ResolvePrivateLinkServiceId.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/ResolvePrivateLinkServiceId.json @@ -1,12 +1,12 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "parameters": { "name": "management" - } + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -14,5 +14,7 @@ "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" } } - } + }, + "operationId": "ResolvePrivateLinkServiceId_POST", + "title": "Resolve the Private Link Service ID for Managed Cluster" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandRequest.json index 1f6de45e8dcd..b4b6f36fb279 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandRequest.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandRequest.json @@ -1,33 +1,35 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "clustername1", "requestPayload": { + "clusterToken": "", "command": "kubectl apply -f ns.yaml", - "context": "", - "clusterToken": "" - } + "context": "" + }, + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" - } - }, "200": { "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", "body": { "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", "properties": { - "provisioningState": "succeeded", "exitCode": 0, - "startedAt": "2021-02-17T00:28:20Z", "finishedAt": "2021-02-17T00:28:33Z", - "logs": "namespace dummy created" + "logs": "namespace dummy created", + "provisioningState": "succeeded", + "startedAt": "2021-02-17T00:28:20Z" } } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" + } } - } + }, + "operationId": "ManagedClusters_RunCommand", + "title": "submitNewCommand" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandResultFailed.json index cefb2234b678..9026dd13d28a 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandResultFailed.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandResultFailed.json @@ -1,17 +1,12 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9", "resourceGroupName": "rg1", "resourceName": "clustername1", - "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" - } - }, "200": { "body": { "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", @@ -20,6 +15,13 @@ "reason": "ImagePullBackoff" } } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" + } } - } + }, + "operationId": "ManagedClusters_GetCommandResult", + "title": "commandFailedResult" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandResultSucceed.json index 52b88d6bcb5b..e1e9faa28a70 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandResultSucceed.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/RunCommandResultSucceed.json @@ -1,28 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9", "resourceGroupName": "rg1", "resourceName": "clustername1", - "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { - "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" - } - }, "200": { "body": { "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", "properties": { - "provisioningState": "succeeded", "exitCode": 0, - "startedAt": "2021-02-17T00:28:20Z", "finishedAt": "2021-02-17T00:28:33Z", - "logs": "namespace dummy created" + "logs": "namespace dummy created", + "provisioningState": "succeeded", + "startedAt": "2021-02-17T00:28:20Z" } } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2025-10-01" + } } - } + }, + "operationId": "ManagedClusters_GetCommandResult", + "title": "commandSucceedResult" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsCreate.json index 8c4bf6637b90..28041730679c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsCreate.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsCreate.json @@ -1,80 +1,82 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "snapshot1", "parameters": { "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" } + }, + "tags": { + "key1": "val1", + "key2": "val2" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } }, "201": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "Snapshots_CreateOrUpdate", + "title": "Create/Update Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsDelete.json index 129b4914f337..4943965e3201 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsDelete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsDelete.json @@ -1,12 +1,14 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "snapshot1" + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "Snapshots_Delete", + "title": "Delete Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsGet.json index 3fcba3590bf0..67b9f601a233 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsGet.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsGet.json @@ -1,39 +1,41 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "snapshot1" + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "Snapshots_Get", + "title": "Get Snapshot" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsList.json index 94c0656680c9..c4c0690eff52 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsList.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsList.json @@ -9,33 +9,35 @@ "value": [ { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } ] } } - } + }, + "operationId": "Snapshots_List", + "title": "List Snapshots" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsListByResourceGroup.json index de697ebc09b9..afd28dbd5e55 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsListByResourceGroup.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsListByResourceGroup.json @@ -1,8 +1,8 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1" + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -10,33 +10,35 @@ "value": [ { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } ] } } - } + }, + "operationId": "Snapshots_ListByResourceGroup", + "title": "List Snapshots by Resource Group" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsUpdateTags.json index 95d6de3361f0..386e4667a5c9 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsUpdateTags.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/SnapshotsUpdateTags.json @@ -1,45 +1,47 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rg1", - "resourceName": "snapshot1", "parameters": { "tags": { "key2": "new-val2", "key3": "val3" } - } + }, + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "name": "snapshot1", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "type": "Microsoft.ContainerService/Snapshots", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", "location": "westus", - "tags": { - "key1": "val1", - "key2": "val2" - }, - "systemData": { - "createdBy": "user1", - "createdByType": "User", - "createdAt": "2021-08-09T20:13:23.298420761Z" - }, "properties": { "creationData": { "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" }, - "snapshotType": "NodePool", - "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "enableFIPS": false, "kubernetesVersion": "1.20.5", - "osType": "Linux", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", "osSku": "Ubuntu", - "vmSize": "Standard_D2s_v3", - "enableFIPS": false + "osType": "Linux", + "snapshotType": "NodePool", + "vmSize": "Standard_D2s_v3" + }, + "systemData": { + "createdAt": "2021-08-09T20:13:23.298420761Z", + "createdBy": "user1", + "createdByType": "User" + }, + "tags": { + "key1": "val1", + "key2": "val2" } } } - } + }, + "operationId": "Snapshots_UpdateTags", + "title": "Update Snapshot Tags" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_CreateOrUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_CreateOrUpdate.json index 6738b29b8ee4..9a1e1a4e9ddf 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_CreateOrUpdate.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_CreateOrUpdate.json @@ -1,48 +1,50 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", - "trustedAccessRoleBindingName": "binding1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "trustedAccessRoleBinding": { "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } - } + }, + "trustedAccessRoleBindingName": "binding1" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", - "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } } }, "201": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", - "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } } } - } + }, + "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", + "title": "Create or update a trusted access role binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_Delete.json index d6debd7e1bee..822ac69ed2b8 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_Delete.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_Delete.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "trustedAccessRoleBindingName": "binding1" }, "responses": { @@ -13,5 +13,7 @@ } }, "204": {} - } + }, + "operationId": "TrustedAccessRoleBindings_Delete", + "title": "Delete a trusted access role binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_Get.json index cdfae1cc0702..4abe8aaa3566 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_Get.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_Get.json @@ -1,25 +1,27 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "trustedAccessRoleBindingName": "binding1" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", - "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } } } - } + }, + "operationId": "TrustedAccessRoleBindings_Get", + "title": "Get a trusted access role binding" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_List.json index 5c31a5ef4506..cba4d82c2847 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoleBindings_List.json @@ -1,28 +1,30 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rg1", - "resourceName": "clustername1" + "resourceName": "clustername1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", - "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", "name": "binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", "roles": [ "Microsoft.MachineLearningServices/workspaces/reader", "Microsoft.MachineLearningServices/workspaces/writer" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c" } } ] } } - } + }, + "operationId": "TrustedAccessRoleBindings_List", + "title": "List trusted access role bindings" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoles_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoles_List.json index 8eae817e30c7..c16c8435a2eb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoles_List.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/examples/TrustedAccessRoles_List.json @@ -1,34 +1,36 @@ { "parameters": { "api-version": "2025-10-01", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "location": "westus2" + "location": "westus2", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { "value": [ { - "sourceResourceType": "Microsoft.MachineLearningServices/workspaces", "name": "reader", "rules": [ { - "verbs": [ - "get" - ], "apiGroups": [ "" ], + "nonResourceURLs": [], + "resourceNames": [], "resources": [ "pods" ], - "resourceNames": [], - "nonResourceURLs": [] + "verbs": [ + "get" + ] } - ] + ], + "sourceResourceType": "Microsoft.MachineLearningServices/workspaces" } ] } } - } + }, + "operationId": "TrustedAccessRoles_List", + "title": "List trusted access roles" } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/managedClusters.json index 7fdd1a0cb241..681915cb4540 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2025-10-01/managedClusters.json @@ -2,17 +2,22 @@ "swagger": "2.0", "info": { "title": "ContainerServiceClient", + "version": "2025-10-01", "description": "The Container Service Client.", - "version": "2025-10-01" + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], "security": [ @@ -25,79 +30,111 @@ "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, + "tags": [ + { + "name": "AgentPools" + }, + { + "name": "ManagedClusters" + }, + { + "name": "privateLinkResources" + }, + { + "name": "resolvePrivateLinkServiceId" + }, + { + "name": "MaintenanceConfigurations" + }, + { + "name": "ManagedNamespaces" + }, + { + "name": "Machines" + }, + { + "name": "PrivateEndpointConnections" + }, + { + "name": "Snapshots" + }, + { + "name": "TrustedAccess" + } + ], "paths": { "/providers/Microsoft.ContainerService/operations": { "get": { + "operationId": "Operations_List", "tags": [ "ManagedClusters" ], - "operationId": "Operations_List", - "summary": "Gets a list of operations.", + "description": "Gets a list of operations.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": null - }, "x-ms-examples": { "List available operations for the container service resource provider": { "$ref": "./examples/Operation_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/kubernetesVersions": { "get": { + "operationId": "ManagedClusters_ListKubernetesVersions", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListKubernetesVersions", "summary": "Gets a list of supported Kubernetes versions in the specified subscription.", "description": "Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades, and details on preview status of the version", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/KubernetesVersionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } @@ -110,348 +147,298 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles": { "get": { + "operationId": "ManagedClusters_ListMeshRevisionProfiles", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_List", - "summary": "Gets a list of managed clusters in the specified subscription.", + "summary": "Lists mesh revision profiles for all meshes in the specified location.", + "description": "Contains extra metadata on each revision, including supported revisions, cluster compatibility and available upgrades", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterListResult" + "$ref": "#/definitions/MeshRevisionProfileList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Managed Clusters": { - "$ref": "./examples/ManagedClustersList.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { - "get": { - "tags": [ - "ManagedClusters" - ], - "operationId": "ManagedClusters_ListByResourceGroup", - "summary": "Lists managed clusters in the specified subscription and resource group.", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ManagedClusterListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } + "List mesh revision profiles in a location": { + "$ref": "./examples/ManagedClustersList_MeshRevisionProfiles.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Get Managed Clusters by Resource Group": { - "$ref": "./examples/ManagedClustersListByResourceGroup.json" - } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles/{mode}": { "get": { + "operationId": "ManagedClusters_GetMeshRevisionProfile", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_GetUpgradeProfile", - "summary": "Gets the upgrade profile of a managed cluster.", + "summary": "Gets a mesh revision profile for a specified mesh in the specified location.", + "description": "Contains extra metadata on the revision, including supported revisions, cluster compatibility and available upgrades", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "mode", + "in": "path", + "description": "The mode of the mesh.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ManagedClusterUpgradeProfile" + "$ref": "#/definitions/MeshRevisionProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Upgrade Profile for Managed Cluster": { - "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + "Get a mesh revision profile for a mesh mode": { + "$ref": "./examples/ManagedClustersGet_MeshRevisionProfile.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { - "post": { - "deprecated": true, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/trustedAccessRoles": { + "get": { + "operationId": "TrustedAccessRoles_List", "tags": [ - "ManagedClusters" + "TrustedAccess" ], - "operationId": "ManagedClusters_GetAccessProfile", - "summary": "Gets an access profile of a managed cluster.", - "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "description": "List supported trusted access roles.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "roleName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the role for managed cluster accessProfile resource." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" } ], "responses": { "200": { - "description": "OK", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/ManagedClusterAccessProfile" + "$ref": "#/definitions/TrustedAccessRoleListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersGetAccessProfile.json" + "List trusted access roles": { + "$ref": "./examples/TrustedAccessRoles_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "operationId": "ManagedClusters_List", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListClusterAdminCredentials", - "summary": "Lists the admin credentials of a managed cluster.", + "description": "Gets a list of managed clusters in the specified subscription.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ServerFqdnParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CredentialResults" + "$ref": "#/definitions/ManagedClusterListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersListClusterAdminCredentials.json" + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "operationId": "Snapshots_List", "tags": [ - "ManagedClusters" + "Snapshots" ], - "operationId": "ManagedClusters_ListClusterUserCredentials", - "summary": "Lists the user credentials of a managed cluster.", + "description": "Gets a list of snapshots in the specified subscription.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "$ref": "#/parameters/ServerFqdnParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/CredentialFormatParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CredentialResults" + "$ref": "#/definitions/SnapshotListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersListClusterUserCredentials.json" + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "operationId": "ManagedClusters_ListByResourceGroup", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", - "summary": "Lists the cluster monitoring user credentials of a managed cluster.", + "description": "Lists managed clusters in the specified subscription and resource group.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "$ref": "#/parameters/ServerFqdnParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CredentialResults" + "$ref": "#/definitions/ManagedClusterListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Cluster": { - "$ref": "./examples/ManagedClustersListClusterMonitoringUserCredentials.json" + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { "get": { + "operationId": "ManagedClusters_Get", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_Get", - "summary": "Gets a managed cluster.", + "description": "Gets a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedCluster" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } @@ -464,35 +451,33 @@ } }, "put": { + "operationId": "ManagedClusters_CreateOrUpdate", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_CreateOrUpdate", - "summary": "Creates or updates a managed cluster.", + "description": "Creates or updates a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", "required": true, - "schema": { - "$ref": "#/definitions/ManagedCluster" - }, - "description": "The managed cluster to create or update." + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "If-Match", + "name": "if-match", "in": "header", "description": "The request should only proceed if an entity matches this string.", "required": false, @@ -500,71 +485,84 @@ "x-ms-client-name": "ifMatch" }, { - "name": "If-None-Match", + "name": "if-none-match", "in": "header", "description": "The request should only proceed if no entity matches this string.", "required": false, "type": "string", "x-ms-client-name": "ifNoneMatch" + }, + { + "name": "parameters", + "in": "body", + "description": "The managed cluster to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + } } ], "responses": { "200": { - "description": "The existing managed cluster was successfully updated.", + "description": "Resource 'ManagedCluster' update operation succeeded", "schema": { "$ref": "#/definitions/ManagedCluster" } }, "201": { - "description": "The new managed cluster was successfully created.", + "description": "Resource 'ManagedCluster' create operation succeeded", "schema": { "$ref": "#/definitions/ManagedCluster" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create/Update Managed Cluster": { - "$ref": "./examples/ManagedClustersCreate_Update.json" + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" }, - "Create/Update AAD Managed Cluster with EnableAzureRBAC": { - "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" }, - "Create Managed Cluster with PPG": { - "$ref": "./examples/ManagedClustersCreate_PPG.json" + "Create Managed Cluster with Azure KeyVault Secrets Provider Addon": { + "$ref": "./examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json" }, - "Create Managed Cluster with OSSKU": { - "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + "Create Managed Cluster with Capacity Reservation Group": { + "$ref": "./examples/ManagedClustersCreate_CRG.json" }, - "Create Managed Cluster with GPUMIG": { - "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + "Create Managed Cluster with Custom CA Trust Certificates": { + "$ref": "./examples/ManagedClustersCreate_CustomCATrustCertificates.json" }, - "Create/Update Managed Cluster with EnableAHUB": { - "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + "Create Managed Cluster with Dedicated Host Group": { + "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json" }, "Create Managed Cluster with EncryptionAtHost enabled": { "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" }, - "Create Managed Cluster with UltraSSD enabled": { - "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" }, - "Create Managed Cluster with PodIdentity enabled": { - "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" - }, - "Create Managed Private Cluster with fqdn subdomain specified": { - "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" - }, - "Create Managed Private Cluster with Public FQDN specified": { - "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" }, - "Create Managed Cluster with RunCommand disabled": { - "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" }, "Create Managed Cluster with LongTermSupport": { "$ref": "./examples/ManagedClustersCreate_Premium.json" @@ -572,129 +570,172 @@ "Create Managed Cluster with Node Public IP Prefix": { "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" }, - "Create Managed Cluster with Azure KeyVault Secrets Provider Addon": { - "$ref": "./examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json" + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" }, - "Create Managed Cluster with FIPS enabled OS": { - "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" }, - "Create Managed Cluster with HTTP proxy configured": { - "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" }, "Create Managed Cluster with Security Profile configured": { "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, "Create Managed Cluster with Web App Routing Ingress Profile configured": { "$ref": "./examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json" }, - "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { - "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" - }, "Create Managed Cluster with user-assigned NAT gateway as outbound type": { "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" }, - "Create Managed Cluster using an agent pool snapshot": { - "$ref": "./examples/ManagedClustersCreate_Snapshot.json" - }, - "Create/Update Managed Cluster with Windows gMSA enabled": { - "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" - }, - "Create/Update Managed Cluster with dual-stack networking": { - "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" }, - "Create Managed Cluster with Capacity Reservation Group": { - "$ref": "./examples/ManagedClustersCreate_CRG.json" + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" }, - "Create Managed Cluster with Dedicated Host Group": { - "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json" + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" }, - "Create Managed Cluster with Custom CA Trust Certificates": { - "$ref": "./examples/ManagedClustersCreate_CustomCATrustCertificates.json" + "Create/Update Managed Cluster": { + "$ref": "./examples/ManagedClustersCreate_Update.json" }, "Create/Update Managed Cluster with Azure Service Mesh": { "$ref": "./examples/ManagedClustersCreate_AzureServiceMesh.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/ManagedCluster" + }, + "x-ms-long-running-operation": true }, "patch": { + "operationId": "ManagedClusters_UpdateTags", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_UpdateTags", - "summary": "Updates tags on a managed cluster.", + "description": "Updates tags on a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", "required": true, - "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to the Update Managed Cluster Tags operation." + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "If-Match", + "name": "if-match", "in": "header", "description": "The request should only proceed if an entity matches this string.", "required": false, "type": "string", "x-ms-client-name": "ifMatch" + }, + { + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the Update Managed Cluster Tags operation.", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ManagedCluster" } }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { "Update Managed Cluster Tags": { "$ref": "./examples/ManagedClustersUpdateTags.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/ManagedCluster" + }, + "x-ms-long-running-operation": true }, "delete": { + "operationId": "ManagedClusters_Delete", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_Delete", - "summary": "Deletes a managed cluster.", + "description": "Deletes a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "If-Match", + "name": "if-match", "in": "header", "description": "The request should only proceed if an entity matches this string.", "required": false, @@ -704,2494 +745,3006 @@ ], "responses": { "202": { - "description": "Accepted", + "description": "Resource deletion accepted.", "headers": { "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { - "description": "NoContent" + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { "Delete Managed Cluster": { "$ref": "./examples/ManagedClustersDelete.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/abort": { + "post": { + "operationId": "ManagedClusters_AbortLatestOperation", "tags": [ - "MaintenanceConfigurations" + "ManagedClusters" ], - "operationId": "MaintenanceConfigurations_ListByManagedCluster", - "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "summary": "Aborts last operation running on managed cluster.", + "description": "Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MaintenanceConfigurationListResult" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List maintenance configurations configured with maintenance window by Managed Cluster": { - "$ref": "./examples/MaintenanceConfigurationsList_MaintenanceWindow.json" + "Abort operation on managed cluster": { + "$ref": "./examples/ManagedClustersAbortOperation.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { + "post": { + "operationId": "ManagedClusters_GetAccessProfile", "tags": [ - "MaintenanceConfigurations" + "ManagedClusters" ], - "operationId": "MaintenanceConfigurations_Get", - "summary": "Gets the specified maintenance configuration of a managed cluster.", + "summary": "Gets an access profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "configName", + "name": "roleName", "in": "path", + "description": "The name of the role for managed cluster accessProfile resource.", "required": true, - "type": "string", - "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'." + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MaintenanceConfiguration" + "$ref": "#/definitions/ManagedClusterAccessProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, + "deprecated": true, "x-ms-examples": { - "Get Maintenance Configuration Configured With Maintenance Window": { - "$ref": "./examples/MaintenanceConfigurationsGet_MaintenanceWindow.json" + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { + "get": { + "operationId": "AgentPools_List", "tags": [ - "MaintenanceConfigurations" + "AgentPools" ], - "operationId": "MaintenanceConfigurations_CreateOrUpdate", - "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "description": "Gets a list of agent pools in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "name": "configName", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MaintenanceConfiguration" - }, - "description": "The maintenance configuration to create or update." + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "The existing maintenance configuration was successfully updated.", - "schema": { - "$ref": "#/definitions/MaintenanceConfiguration" - } - }, - "201": { - "description": "The new maintenance configuration was successfully created.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MaintenanceConfiguration" + "$ref": "#/definitions/AgentPoolListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": false, "x-ms-examples": { - "Create/Update Maintenance Configuration with Maintenance Window": { - "$ref": "./examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json" + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/AgentPoolsList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "get": { + "operationId": "AgentPools_Get", "tags": [ - "MaintenanceConfigurations" + "AgentPools" ], - "operationId": "MaintenanceConfigurations_Delete", - "summary": "Deletes a maintenance configuration.", + "description": "Gets the specified managed cluster agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "configName", + "name": "agentPoolName", "in": "path", + "description": "The name of the agent pool.", "required": true, "type": "string", - "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'." + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { "200": { - "description": "OK" - }, - "204": { - "description": "NoContent" + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AgentPool" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": false, "x-ms-examples": { - "Delete Maintenance Configuration For Node OS Upgrade": { - "$ref": "./examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json" + "Get Agent Pool": { + "$ref": "./examples/AgentPoolsGet.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces": { - "get": { + }, + "put": { + "operationId": "AgentPools_CreateOrUpdate", "tags": [ - "ManagedNamespaces" + "AgentPools" ], - "operationId": "ManagedNamespaces_ListByManagedCluster", - "summary": "Gets a list of managed namespaces in the specified managed cluster.", + "description": "Creates or updates an agent pool in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ManagedNamespaceListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List namespaces by Managed Cluster": { - "$ref": "./examples/ManagedNamespacesList.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}": { - "get": { - "tags": [ - "ManagedNamespaces" - ], - "operationId": "ManagedNamespaces_Get", - "summary": "Gets the specified namespace of a managed cluster.", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "if-match", + "in": "header", + "description": "The request should only proceed if an entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "if-none-match", + "in": "header", + "description": "The request should only proceed if no entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "parameters", + "in": "body", + "description": "The agent pool to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPool" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'AgentPool' update operation succeeded", "schema": { - "$ref": "#/definitions/ManagedNamespace" + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "Resource 'AgentPool' create operation succeeded", + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Managed Namespace": { - "$ref": "./examples/ManagedNamespacesGet.json" + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Capacity Reservation Group": { + "$ref": "./examples/AgentPoolsCreate_CRG.json" + }, + "Create Agent Pool with Dedicated Host Group": { + "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with Message of the Day": { + "$ref": "./examples/AgentPoolsCreate_MessageOfTheDay.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with VirtualMachines pool type": { + "$ref": "./examples/AgentPoolsCreate_TypeVirtualMachines.json" + }, + "Create Agent Pool with Windows OSSKU": { + "$ref": "./examples/AgentPoolsCreate_WindowsOSSKU.json" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Windows Agent Pool with disabling OutboundNAT": { + "$ref": "./examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json" + }, + "Create/Update Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/AgentPool" + }, + "x-ms-long-running-operation": true }, - "put": { + "delete": { + "operationId": "AgentPools_Delete", "tags": [ - "ManagedNamespaces" + "AgentPools" ], - "operationId": "ManagedNamespaces_CreateOrUpdate", - "summary": "Creates or updates a namespace managed by ARM for the specified managed cluster. Users can configure aspects like resource quotas, network ingress/egress policies, and more. See aka.ms/aks/managed-namespaces for more details.", + "description": "Deletes an agent pool in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ManagedNamespace" - }, - "description": "The namespace to create or update." + "name": "ignore-pod-disruption-budget", + "in": "query", + "description": "ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget", + "required": false, + "type": "boolean" + }, + { + "name": "if-match", + "in": "header", + "description": "The request should only proceed if an entity matches this string.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" } ], "responses": { - "200": { - "description": "The existing namespace was successfully updated.", + "202": { + "description": "Resource deletion accepted.", "headers": { - "Azure-AsyncOperation": { - "type": "string" + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/ManagedNamespace" } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } - }, - "201": { - "description": "The new namespace was successfully created.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/ManagedNamespace" - } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create/Update Managed Namespace": { - "$ref": "./examples/ManagedNamespacesCreate_Update.json" + "Delete Agent Pool": { + "$ref": "./examples/AgentPoolsDelete.json" } - } - }, - "delete": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/abort": { + "post": { + "operationId": "AgentPools_AbortLatestOperation", "tags": [ - "ManagedNamespaces" + "AgentPools" ], - "operationId": "ManagedNamespaces_Delete", - "summary": "Deletes a namespace.", + "summary": "Aborts last operation running on agent pool.", + "description": "Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { "202": { - "description": "Accepted", + "description": "Resource operation accepted.", "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." }, - "Azure-AsyncOperation": { - "type": "string" + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { - "description": "NoContent", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - } + "description": "There is no content to send for this request, but the headers may be useful." }, "default": { - "description": "Error response describing why the operation failed.", - "headers": { - "Azure-AsyncOperation": { - "type": "string" - } - }, + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Managed Namespace": { - "$ref": "./examples/ManagedNamespacesDelete.json" + "Abort operation on agent pool": { + "$ref": "./examples/AgentPoolsAbortOperation.json" } - } - }, - "patch": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/deleteMachines": { + "post": { + "operationId": "AgentPools_DeleteMachines", "tags": [ - "ManagedNamespaces" + "AgentPools" ], - "operationId": "ManagedNamespaces_Update", - "summary": "Updates tags on a managed namespace.", + "description": "Deletes specific machines in an agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { - "name": "parameters", + "name": "machines", "in": "body", + "description": "A list of machines from the agent pool to be deleted.", "required": true, "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to the patch namespace operation, we only support patch tags for now." + "$ref": "#/definitions/AgentPoolDeleteMachinesParameter" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ManagedNamespace" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Managed Namespace Tags": { - "$ref": "./examples/ManagedNamespacesUpdateTags.json" + "Delete Specific Machines in an Agent Pool": { + "$ref": "./examples/AgentPoolsDeleteMachines.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines": { + "get": { + "operationId": "Machines_List", + "tags": [ + "Machines" + ], + "description": "Gets a list of machines in the specified agent pool.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines in an Agentpool by Managed Cluster": { + "$ref": "./examples/MachineList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}/listCredential": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}": { + "get": { + "operationId": "Machines_Get", "tags": [ - "ManagedNamespaces" + "Machines" ], - "operationId": "ManagedNamespaces_ListCredential", - "summary": "Lists the credentials of a namespace.", + "description": "Get a specific machine in the specified agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" }, { - "$ref": "#/parameters/ManagedNamespaceNameParameter" + "name": "machineName", + "in": "path", + "description": "Host name of the machine.", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CredentialResults" + "$ref": "#/definitions/Machine" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List managed namespace credentials": { - "$ref": "./examples/ManagedNamespacesListCredentialResult.json" + "Get a Machine in an Agent Pools by Managed Cluster": { + "$ref": "./examples/MachineGet.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/agentPools/{agentPoolName}/abort": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { "post": { + "operationId": "AgentPools_UpgradeNodeImageVersion", "tags": [ "AgentPools" ], - "operationId": "AgentPools_AbortLatestOperation", - "summary": "Aborts last operation running on agent pool.", - "description": "Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned.", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { - "204": { - "description": "NoContent" + "200": { + "description": "The request has succeeded." }, "202": { - "description": "Accepted", + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/AgentPool" + }, "headers": { - "location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Abort operation on agent pool": { - "$ref": "./examples/AgentPoolsAbortOperation.json" + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { "get": { + "operationId": "AgentPools_GetUpgradeProfile", "tags": [ "AgentPools" ], - "operationId": "AgentPools_List", - "summary": "Gets a list of agent pools in the specified managed cluster.", + "description": "Gets the upgrade profile for an agent pool.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "agentPoolName", + "in": "path", + "description": "The name of the agent pool.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 12, + "pattern": "^[a-z][a-z0-9]{0,11}$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPoolListResult" + "$ref": "#/definitions/AgentPoolUpgradeProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Agent Pools by Managed Cluster": { - "$ref": "./examples/AgentPoolsList.json" + "Get Upgrade Profile for Agent Pool": { + "$ref": "./examples/AgentPoolsGetUpgradeProfile.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { "get": { + "operationId": "AgentPools_GetAvailableAgentPoolVersions", "tags": [ "AgentPools" ], - "operationId": "AgentPools_Get", - "summary": "Gets the specified managed cluster agent pool.", + "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPool" + "$ref": "#/definitions/AgentPoolAvailableVersions" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Agent Pool": { - "$ref": "./examples/AgentPoolsGet.json" + "Get available versions for agent pool": { + "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "operationId": "ManagedClusters_GetCommandResult", "tags": [ - "AgentPools" + "ManagedClusters" ], - "operationId": "AgentPools_CreateOrUpdate", - "summary": "Creates or updates an agent pool in the specified managed cluster.", + "description": "Gets the results of a command which has been run on the Managed Cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", "required": true, - "schema": { - "$ref": "#/definitions/AgentPool" - }, - "description": "The agent pool to create or update." - }, - { - "name": "If-Match", - "in": "header", - "description": "The request should only proceed if an entity matches this string.", - "required": false, "type": "string", - "x-ms-client-name": "ifMatch" + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "If-None-Match", - "in": "header", - "description": "The request should only proceed if no entity matches this string.", - "required": false, - "type": "string", - "x-ms-client-name": "ifNoneMatch" + "name": "commandId", + "in": "path", + "description": "Id of the command.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "The existing agent pool was successfully updated.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPool" + "$ref": "#/definitions/RunCommandResult" } }, - "201": { - "description": "The new agent pool was successfully created.", - "schema": { - "$ref": "#/definitions/AgentPool" + "202": { + "description": "Azure operation completed successfully.", + "headers": { + "location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create/Update Agent Pool": { - "$ref": "./examples/AgentPoolsCreate_Update.json" - }, - "Update Agent Pool": { - "$ref": "./examples/AgentPools_Update.json" + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" }, - "Create Spot Agent Pool": { - "$ref": "./examples/AgentPoolsCreate_Spot.json" + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { + "post": { + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "tags": [ + "ManagedClusters" + ], + "description": "Lists the admin credentials of a managed cluster.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, - "Create Agent Pool with PPG": { - "$ref": "./examples/AgentPoolsCreate_PPG.json" + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, - "Create Agent Pool with OSSKU": { - "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, - "Create Agent Pool with Windows OSSKU": { - "$ref": "./examples/AgentPoolsCreate_WindowsOSSKU.json" + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, - "Create Windows Agent Pool with disabling OutboundNAT": { - "$ref": "./examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json" + { + "name": "server-fqdn", + "in": "query", + "description": "server fqdn type for credentials to be returned", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CredentialResults" + } }, - "Create Agent Pool with GPUMIG": { - "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" - }, - "Create Agent Pool with Ephemeral OS Disk": { - "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" - }, - "Create Agent Pool with KubeletConfig and LinuxOSConfig": { - "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" - }, - "Create Agent Pool with EncryptionAtHost enabled": { - "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" - }, - "Create Agent Pool with UltraSSD enabled": { - "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" - }, - "Create Agent Pool with FIPS enabled OS": { - "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" - }, - "Create Agent Pool using an agent pool snapshot": { - "$ref": "./examples/AgentPoolsCreate_Snapshot.json" - }, - "Create Agent Pool with Krustlet and the WASI runtime": { - "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" - }, - "Create Agent Pool with Message of the Day": { - "$ref": "./examples/AgentPoolsCreate_MessageOfTheDay.json" - }, - "Stop Agent Pool": { - "$ref": "./examples/AgentPools_Stop.json" - }, - "Start Agent Pool": { - "$ref": "./examples/AgentPools_Start.json" - }, - "Create Agent Pool with Capacity Reservation Group": { - "$ref": "./examples/AgentPoolsCreate_CRG.json" - }, - "Create Agent Pool with Dedicated Host Group": { - "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json" - }, - "Create Agent Pool with VirtualMachines pool type": { - "$ref": "./examples/AgentPoolsCreate_TypeVirtualMachines.json" + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterAdminCredentials.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { + "post": { + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", "tags": [ - "AgentPools" + "ManagedClusters" ], - "operationId": "AgentPools_Delete", - "summary": "Deletes an agent pool in the specified managed cluster.", + "description": "Lists the cluster monitoring user credentials of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" - }, - { - "$ref": "#/parameters/IgnorePodDisruptionBudgetParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "If-Match", - "in": "header", - "description": "The request should only proceed if an entity matches this string.", + "name": "server-fqdn", + "in": "query", + "description": "server fqdn type for credentials to be returned", "required": false, - "type": "string", - "x-ms-client-name": "ifMatch" + "type": "string" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CredentialResults" } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Agent Pool": { - "$ref": "./examples/AgentPoolsDelete.json" + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterMonitoringUserCredentials.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { + "post": { + "operationId": "ManagedClusters_ListClusterUserCredentials", "tags": [ - "AgentPools" + "ManagedClusters" ], - "operationId": "AgentPools_GetUpgradeProfile", - "summary": "Gets the upgrade profile for an agent pool.", + "description": "Lists the user credentials of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "server-fqdn", + "in": "query", + "description": "server fqdn type for credentials to be returned", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "format", + "in": "query", + "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", + "required": false, + "type": "string", + "enum": [ + "azure", + "exec" + ], + "x-ms-enum": { + "name": "Format", + "modelAsString": true, + "values": [ + { + "name": "azure", + "value": "azure", + "description": "Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26." + }, + { + "name": "exec", + "value": "exec", + "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + } + ] + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPoolUpgradeProfile" + "$ref": "#/definitions/CredentialResults" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Upgrade Profile for Agent Pool": { - "$ref": "./examples/AgentPoolsGetUpgradeProfile.json" + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterUserCredentials.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/deleteMachines": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": { + "get": { + "operationId": "MaintenanceConfigurations_ListByManagedCluster", "tags": [ - "AgentPools" + "MaintenanceConfigurations" ], - "operationId": "AgentPools_DeleteMachines", - "summary": "Deletes specific machines in an agent pool.", + "description": "Gets a list of maintenance configurations in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "machines", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", "required": true, - "schema": { - "$ref": "#/definitions/AgentPoolDeleteMachinesParameter" - }, - "description": "A list of machines from the agent pool to be deleted." + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/MaintenanceConfigurationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Specific Machines in an Agent Pool": { - "$ref": "./examples/AgentPoolsDeleteMachines.json" + "List maintenance configurations configured with maintenance window by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList_MaintenanceWindow.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { "get": { + "operationId": "MaintenanceConfigurations_Get", "tags": [ - "AgentPools" + "MaintenanceConfigurations" ], - "operationId": "AgentPools_GetAvailableAgentPoolVersions", - "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.", - "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", + "description": "Gets the specified maintenance configuration of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "configName", + "in": "path", + "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPoolAvailableVersions" + "$ref": "#/definitions/MaintenanceConfiguration" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get available versions for agent pool": { - "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" + "Get Maintenance Configuration Configured With Maintenance Window": { + "$ref": "./examples/MaintenanceConfigurationsGet_MaintenanceWindow.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { - "post": { + }, + "put": { + "operationId": "MaintenanceConfigurations_CreateOrUpdate", "tags": [ - "ManagedClusters" + "MaintenanceConfigurations" ], - "operationId": "ManagedClusters_ResetServicePrincipalProfile", - "summary": "Reset the Service Principal Profile of a managed cluster.", - "description": "This action cannot be performed on a cluster that is not using a service principal", + "description": "Creates or updates a maintenance configuration in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "configName", + "in": "path", + "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'.", + "required": true, + "type": "string" }, { "name": "parameters", "in": "body", + "description": "The maintenance configuration to create or update.", "required": true, "schema": { - "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" - }, - "description": "The service principal profile to set on the managed cluster." + "$ref": "#/definitions/MaintenanceConfiguration" + } } ], "responses": { "200": { - "description": "OK" + "description": "Resource 'MaintenanceConfiguration' update operation succeeded", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } }, - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "201": { + "description": "Resource 'MaintenanceConfiguration' create operation succeeded", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" } }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Reset Service Principal Profile": { - "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" + "Create/Update Maintenance Configuration with Maintenance Window": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { - "post": { - "deprecated": true, + }, + "delete": { + "operationId": "MaintenanceConfigurations_Delete", "tags": [ - "ManagedClusters" + "MaintenanceConfigurations" ], - "operationId": "ManagedClusters_ResetAADProfile", - "summary": "Reset the AAD Profile of a managed cluster.", - "description": "**WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.", + "description": "Deletes a maintenance configuration.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "parameters", - "in": "body", + "name": "configName", + "in": "path", + "description": "The name of the maintenance configuration. Supported values are 'default', 'aksManagedAutoUpgradeSchedule', or 'aksManagedNodeOSUpgradeSchedule'.", "required": true, - "schema": { - "$ref": "#/definitions/ManagedClusterAADProfile" - }, - "description": "The AAD profile to set on the Managed Cluster" + "type": "string" } ], "responses": { "200": { - "description": "OK" + "description": "Resource deleted successfully." }, - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } - } + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Reset AAD Profile": { - "$ref": "./examples/ManagedClustersResetAADProfile.json" + "Delete Maintenance Configuration For Node OS Upgrade": { + "$ref": "./examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces": { + "get": { + "operationId": "ManagedNamespaces_ListByManagedCluster", "tags": [ - "ManagedClusters" + "ManagedNamespaces" ], - "operationId": "ManagedClusters_RotateClusterCertificates", - "summary": "Rotates the certificates of a managed cluster.", - "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", + "description": "Gets a list of managed namespaces in the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedNamespaceListResult" } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Rotate Cluster Certificates": { - "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" + "List namespaces by Managed Cluster": { + "$ref": "./examples/ManagedNamespacesList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/abort": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}": { + "get": { + "operationId": "ManagedNamespaces_Get", "tags": [ - "ManagedClusters" + "ManagedNamespaces" ], - "operationId": "ManagedClusters_AbortLatestOperation", - "summary": "Aborts last operation running on managed cluster.", - "description": "Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned.", + "description": "Gets the specified namespace of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" } ], "responses": { - "204": { - "description": "NoContent" - }, - "202": { - "description": "Accepted", - "headers": { - "location": { - "description": "URL to query for status of the operation.", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedNamespace" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Abort operation on managed cluster": { - "$ref": "./examples/ManagedClustersAbortOperation.json" + "Get Managed Namespace": { + "$ref": "./examples/ManagedNamespacesGet.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateServiceAccountSigningKeys": { - "post": { + }, + "put": { + "operationId": "ManagedNamespaces_CreateOrUpdate", "tags": [ - "ManagedClusters" + "ManagedNamespaces" ], - "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", - "summary": "Rotates the service account signing keys of a managed cluster.", + "description": "Creates or updates a namespace managed by ARM for the specified managed cluster. Users can configure aspects like resource quotas, network ingress/egress policies, and more. See aka.ms/aks/managed-namespaces for more details.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "parameters", + "in": "body", + "description": "The namespace to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedNamespace" + } } ], "responses": { - "202": { - "description": "Accepted", + "200": { + "description": "Resource 'ManagedNamespace' update operation succeeded", + "schema": { + "$ref": "#/definitions/ManagedNamespace" + } + }, + "201": { + "description": "Resource 'ManagedNamespace' create operation succeeded", + "schema": { + "$ref": "#/definitions/ManagedNamespace" + }, "headers": { - "Location": { - "type": "string" + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Rotate Cluster Service Account Signing Keys": { - "$ref": "./examples/ManagedClustersRotateServiceAccountSigningKeys.json" + "Create/Update Managed Namespace": { + "$ref": "./examples/ManagedNamespacesCreate_Update.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { - "post": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/ManagedNamespace" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "ManagedNamespaces_Update", "tags": [ - "ManagedClusters" + "ManagedNamespaces" ], - "operationId": "ManagedClusters_Stop", - "summary": "Stops a Managed Cluster", - "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.", + "description": "Updates tags on a managed namespace.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the patch namespace operation, we only support patch tags for now.", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + } } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedNamespace" } }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Stop Managed Cluster": { - "$ref": "./examples/ManagedClustersStop.json" + "Update Managed Namespace Tags": { + "$ref": "./examples/ManagedNamespacesUpdateTags.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { - "post": { + }, + "delete": { + "operationId": "ManagedNamespaces_Delete", "tags": [ - "ManagedClusters" + "ManagedNamespaces" ], - "operationId": "ManagedClusters_Start", - "summary": "Starts a previously stopped Managed Cluster", - "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.", + "description": "Deletes a namespace.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" } ], "responses": { "202": { - "description": "Accepted", + "description": "Resource deletion accepted.", "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { - "description": "NoContent" + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Managed Namespace": { + "$ref": "./examples/ManagedNamespacesDelete.json" + } + }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, - "x-ms-examples": { - "Start Managed Cluster": { - "$ref": "./examples/ManagedClustersStart.json" - } - } + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/managedNamespaces/{managedNamespaceName}/listCredential": { + "post": { + "operationId": "ManagedNamespaces_ListCredential", "tags": [ - "PrivateEndpointConnections" + "ManagedNamespaces" ], - "operationId": "PrivateEndpointConnections_List", - "summary": "Gets a list of private endpoint connections in the specified managed cluster.", - "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "description": "Lists the credentials of a namespace.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "managedNamespaceName", + "in": "path", + "description": "The name of the managed namespace.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionListResult" + "$ref": "#/definitions/CredentialResults" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List Private Endpoint Connections by Managed Cluster": { - "$ref": "./examples/PrivateEndpointConnectionsList.json" + "List managed namespace credentials": { + "$ref": "./examples/ManagedNamespacesListCredentialResult.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles": { "get": { + "operationId": "ManagedClusters_ListMeshUpgradeProfiles", "tags": [ - "PrivateEndpointConnections" + "ManagedClusters" ], - "operationId": "PrivateEndpointConnections_Get", - "summary": "Gets the specified private endpoint connection.", - "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "description": "Lists available upgrades for all service meshes in a specific cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "privateEndpointConnectionName", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "The name of the private endpoint connection." + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/MeshUpgradeProfileList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Private Endpoint Connection": { - "$ref": "./examples/PrivateEndpointConnectionsGet.json" + "Lists version compatibility and upgrade profile for all service meshes in a cluster": { + "$ref": "./examples/ManagedClustersList_MeshUpgradeProfiles.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles/{mode}": { + "get": { + "operationId": "ManagedClusters_GetMeshUpgradeProfile", "tags": [ - "PrivateEndpointConnections" + "ManagedClusters" ], - "operationId": "PrivateEndpointConnections_Update", - "summary": "Updates a private endpoint connection.", + "description": "Gets available upgrades for a service mesh in a cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "privateEndpointConnectionName", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "The name of the private endpoint connection." + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "parameters", - "in": "body", + "name": "mode", + "in": "path", + "description": "The mode of the mesh.", "required": true, - "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" - }, - "description": "The updated private endpoint connection." + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "The existing private endpoint connection was successfully updated.", - "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" - } - }, - "201": { - "description": "The new private endpoint connection was successfully created.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/MeshUpgradeProfile" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Private Endpoint Connection": { - "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + "Gets version compatibility and upgrade profile for a service mesh in a cluster": { + "$ref": "./examples/ManagedClustersGet_MeshUpgradeProfile.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", "tags": [ - "PrivateEndpointConnections" + "ManagedClusters" ], - "operationId": "PrivateEndpointConnections_Delete", - "summary": "Deletes a private endpoint connection.", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "privateEndpointConnectionName", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "The name of the private endpoint connection." + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK" - }, - "204": { - "description": "No Content -- The private endpoint connection does not exist." + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Private Endpoint Connection": { - "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "operationId": "PrivateEndpointConnections_List", "tags": [ - "AgentPools" + "PrivateEndpointConnections" ], - "operationId": "AgentPools_UpgradeNodeImageVersion", - "summary": "Upgrades the node image version of an agent pool to the latest.", - "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted", - "headers": { - "Azure-AsyncOperation": { - "description": "URL to query for status of the operation.", - "type": "string" - } - }, + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AgentPool" + "$ref": "#/definitions/PrivateEndpointConnectionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "x-ms-examples": { - "Upgrade Agent Pool Node Image Version": { - "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { + "operationId": "PrivateEndpointConnections_Get", "tags": [ - "privateLinkResources" + "PrivateEndpointConnections" ], - "operationId": "PrivateLinkResources_List", - "summary": "Gets a list of private link resources in the specified managed cluster.", + "summary": "Gets the specified private endpoint connection.", "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateLinkResourcesListResult" + "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List Private Link Resources by Managed Cluster": { - "$ref": "./examples/PrivateLinkResourcesList.json" + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { - "post": { + }, + "put": { + "operationId": "PrivateEndpointConnections_Update", "tags": [ - "resolvePrivateLinkServiceId" + "PrivateEndpointConnections" ], - "operationId": "ResolvePrivateLinkServiceId_POST", - "summary": "Gets the private link service ID for the specified managed cluster.", + "description": "Updates a private endpoint connection.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" }, { "name": "parameters", "in": "body", + "description": "The updated private endpoint connection.", "required": true, "schema": { - "$ref": "#/definitions/PrivateLinkResource" - }, - "description": "Parameters required in order to resolve a private link service ID." + "$ref": "#/definitions/PrivateEndpointConnection" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'PrivateEndpointConnection' update operation succeeded", "schema": { - "$ref": "#/definitions/PrivateLinkResource" + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Resource 'PrivateEndpointConnection' create operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Resolve the Private Link Service ID for Managed Cluster": { - "$ref": "./examples/ResolvePrivateLinkServiceId.json" + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { - "post": { + }, + "delete": { + "operationId": "PrivateEndpointConnections_Delete", "tags": [ - "ManagedClusters" + "PrivateEndpointConnections" ], - "operationId": "ManagedClusters_RunCommand", - "summary": "Submits a command to run against the Managed Cluster.", - "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "description": "Deletes a private endpoint connection.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "requestPayload", - "in": "body", + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", "required": true, - "schema": { - "$ref": "#/definitions/RunCommandRequest" - }, - "description": "The run command request" + "type": "string" } ], "responses": { + "200": { + "description": "Resource deleted successfully." + }, "202": { - "description": "Accepted", + "description": "Resource deletion accepted.", "headers": { "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, - "200": { - "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", - "schema": { - "$ref": "#/definitions/RunCommandResult" - } + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, - "x-ms-examples": { - "submitNewCommand": { - "$ref": "./examples/RunCommandRequest.json" - } - } + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { "get": { + "operationId": "PrivateLinkResources_List", "tags": [ - "ManagedClusters" + "privateLinkResources" ], - "operationId": "ManagedClusters_GetCommandResult", - "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "commandId", + "name": "resourceName", "in": "path", + "description": "The name of the managed cluster resource.", "required": true, "type": "string", - "description": "Id of the command." + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "202": { - "description": "Accepted", - "headers": { - "Location": { - "description": "URL to query for status of the operation.", - "type": "string" - } - } - }, "200": { - "description": "command finished", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/RunCommandResult" + "$ref": "#/definitions/PrivateLinkResourcesListResult" } }, "default": { - "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "commandSucceedResult": { - "$ref": "./examples/RunCommandResultSucceed.json" - }, - "commandFailedResult": { - "$ref": "./examples/RunCommandResultFailed.json" + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { + "post": { + "operationId": "ManagedClusters_ResetAADProfile", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", - "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", - "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "summary": "Reset the AAD Profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "parameters", + "in": "body", + "description": "The AAD profile to set on the Managed Cluster", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterAADProfile" + } } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + "description": "The request has succeeded." + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, + "deprecated": true, "x-ms-examples": { - "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { - "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + "Reset AAD Profile": { + "$ref": "./examples/ManagedClustersResetAADProfile.json" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { + "post": { + "operationId": "ManagedClusters_ResetServicePrincipalProfile", "tags": [ - "Snapshots" + "ManagedClusters" ], - "operationId": "Snapshots_List", - "summary": "Gets a list of snapshots in the specified subscription.", + "summary": "Reset the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SnapshotListResult" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The service principal profile to set on the managed cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded." + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Snapshots": { - "$ref": "./examples/SnapshotsList.json" + "Reset Service Principal Profile": { + "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "operationId": "ResolvePrivateLinkServiceId_POST", "tags": [ - "Snapshots" + "resolvePrivateLinkServiceId" ], - "operationId": "Snapshots_ListByResourceGroup", - "summary": "Lists snapshots in the specified subscription and resource group.", + "description": "Gets the private link service ID for the specified managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "Parameters required in order to resolve a private link service ID.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SnapshotListResult" + "$ref": "#/definitions/PrivateLinkResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Snapshots by Resource Group": { - "$ref": "./examples/SnapshotsListByResourceGroup.json" + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "post": { + "operationId": "ManagedClusters_RotateClusterCertificates", "tags": [ - "Snapshots" + "ManagedClusters" ], - "operationId": "Snapshots_Get", - "summary": "Gets a snapshot.", + "summary": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Snapshot" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Snapshot": { - "$ref": "./examples/SnapshotsGet.json" + "Rotate Cluster Certificates": { + "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" } - } - }, - "put": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateServiceAccountSigningKeys": { + "post": { + "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", "tags": [ - "Snapshots" + "ManagedClusters" ], - "operationId": "Snapshots_CreateOrUpdate", - "summary": "Creates or updates a snapshot.", + "description": "Rotates the service account signing keys of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", "required": true, - "schema": { - "$ref": "#/definitions/Snapshot" - }, - "description": "The snapshot to create or update." + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "The existing snapshot was successfully updated.", - "schema": { - "$ref": "#/definitions/Snapshot" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, - "201": { - "description": "The new snapshot was successfully created.", - "schema": { - "$ref": "#/definitions/Snapshot" - } + "204": { + "description": "There is no content to send for this request, but the headers may be useful." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create/Update Snapshot": { - "$ref": "./examples/SnapshotsCreate.json" + "Rotate Cluster Service Account Signing Keys": { + "$ref": "./examples/ManagedClustersRotateServiceAccountSigningKeys.json" } - } - }, - "patch": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "operationId": "ManagedClusters_RunCommand", "tags": [ - "Snapshots" + "ManagedClusters" ], - "operationId": "Snapshots_UpdateTags", - "summary": "Updates tags on a snapshot.", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "name": "parameters", + "name": "requestPayload", "in": "body", + "description": "The run command request", "required": true, "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to the Update snapshot Tags operation." + "$ref": "#/definitions/RunCommandRequest" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/Snapshot" + "$ref": "#/definitions/RunCommandResult" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Snapshot Tags": { - "$ref": "./examples/SnapshotsUpdateTags.json" + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" } - } - }, - "delete": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/RunCommandResult" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "operationId": "ManagedClusters_Start", "tags": [ - "Snapshots" + "ManagedClusters" ], - "operationId": "Snapshots_Delete", - "summary": "Deletes a snapshot.", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } }, "204": { - "description": "NoContent" + "description": "There is no content to send for this request, but the headers may be useful." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Delete Snapshot": { - "$ref": "./examples/SnapshotsDelete.json" + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "operationId": "ManagedClusters_Stop", "tags": [ "ManagedClusters" ], - "operationId": "ManagedClusters_ListMeshRevisionProfiles", - "summary": "Lists mesh revision profiles for all meshes in the specified location.", - "description": "Contains extra metadata on each revision, including supported revisions, cluster compatibility and available upgrades", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MeshRevisionProfileList" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List mesh revision profiles in a location": { - "$ref": "./examples/ManagedClustersList_MeshRevisionProfiles.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles/{mode}": { - "get": { - "tags": [ - "ManagedClusters" - ], - "operationId": "ManagedClusters_GetMeshRevisionProfile", - "summary": "Gets a mesh revision profile for a specified mesh in the specified location.", - "description": "Contains extra metadata on the revision, including supported revisions, cluster compatibility and available upgrades", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" - }, - { - "$ref": "#/parameters/MeshModeParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MeshRevisionProfile" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Get a mesh revision profile for a mesh mode": { - "$ref": "./examples/ManagedClustersGet_MeshRevisionProfile.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles": { - "get": { - "tags": [ - "ManagedClusters" - ], - "operationId": "ManagedClusters_ListMeshUpgradeProfiles", - "summary": "Lists available upgrades for all service meshes in a specific cluster.", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MeshUpgradeProfileList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Lists version compatibility and upgrade profile for all service meshes in a cluster": { - "$ref": "./examples/ManagedClustersList_MeshUpgradeProfiles.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles/{mode}": { - "get": { - "tags": [ - "ManagedClusters" - ], - "operationId": "ManagedClusters_GetMeshUpgradeProfile", - "summary": "Gets available upgrades for a service mesh in a cluster.", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ResourceNameParameter" - }, - { - "$ref": "#/parameters/MeshModeParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MeshUpgradeProfile" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" - } - } + "x-ms-long-running-operation-options": { + "final-state-via": "location" }, - "x-ms-examples": { - "Gets version compatibility and upgrade profile for a service mesh in a cluster": { - "$ref": "./examples/ManagedClustersGet_MeshUpgradeProfile.json" - } - } + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings": { "get": { + "operationId": "TrustedAccessRoleBindings_List", "tags": [ "TrustedAccess" ], - "operationId": "TrustedAccessRoleBindings_List", - "summary": "List trusted access role bindings.", + "description": "List trusted access role bindings.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/TrustedAccessRoleBindingListResult" } }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "List trusted access role bindings": { "$ref": "./examples/TrustedAccessRoleBindings_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}": { "get": { + "operationId": "TrustedAccessRoleBindings_Get", "tags": [ "TrustedAccess" ], - "operationId": "TrustedAccessRoleBindings_Get", - "summary": "Get a trusted access role binding.", + "description": "Get a trusted access role binding.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + "name": "trustedAccessRoleBindingName", + "in": "path", + "description": "The name of trusted access role binding.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^([A-Za-z0-9-])+$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/TrustedAccessRoleBinding" } }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } @@ -3204,52 +3757,77 @@ } }, "put": { + "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", "tags": [ "TrustedAccess" ], - "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", - "summary": "Create or update a trusted access role binding", + "description": "Create or update a trusted access role binding", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + "name": "trustedAccessRoleBindingName", + "in": "path", + "description": "The name of trusted access role binding.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^([A-Za-z0-9-])+$" }, { "name": "trustedAccessRoleBinding", "in": "body", + "description": "A trusted access role binding", "required": true, "schema": { "$ref": "#/definitions/TrustedAccessRoleBinding" - }, - "description": "A trusted access role binding" + } } ], "responses": { "200": { - "description": "The existing trusted access role binding was successfully updated.", + "description": "Resource 'TrustedAccessRoleBinding' update operation succeeded", "schema": { "$ref": "#/definitions/TrustedAccessRoleBinding" } }, "201": { - "description": "The new trusted access role binding was successfully created.", + "description": "Resource 'TrustedAccessRoleBinding' create operation succeeded", "schema": { "$ref": "#/definitions/TrustedAccessRoleBinding" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } @@ -3260,46 +3838,69 @@ "$ref": "./examples/TrustedAccessRoleBindings_CreateOrUpdate.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/TrustedAccessRoleBinding" + }, "x-ms-long-running-operation": true }, "delete": { + "operationId": "TrustedAccessRoleBindings_Delete", "tags": [ "TrustedAccess" ], - "operationId": "TrustedAccessRoleBindings_Delete", - "summary": "Delete a trusted access role binding.", + "description": "Delete a trusted access role binding.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + "name": "trustedAccessRoleBindingName", + "in": "path", + "description": "The name of trusted access role binding.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 24, + "pattern": "^([A-Za-z0-9-])+$" } ], "responses": { "202": { - "description": "Accepted", + "description": "Resource deletion accepted.", "headers": { "Location": { - "description": "URL to query for status of the operation.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { - "description": "NoContent" + "description": "Resource does not exist." }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } @@ -3310,92 +3911,96 @@ "$ref": "./examples/TrustedAccessRoleBindings_Delete.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/trustedAccessRoles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { "get": { + "operationId": "ManagedClusters_GetUpgradeProfile", "tags": [ - "TrustedAccess" + "ManagedClusters" ], - "operationId": "TrustedAccessRoles_List", - "summary": "List supported trusted access roles.", + "description": "Gets the upgrade profile of a managed cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/TrustedAccessRoleListResult" + "$ref": "#/definitions/ManagedClusterUpgradeProfile" } }, "default": { - "description": "Error details", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List trusted access roles": { - "$ref": "./examples/TrustedAccessRoles_List.json" + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { "get": { - "operationId": "Machines_List", - "summary": "Gets a list of machines in the specified agent pool.", + "operationId": "Snapshots_ListByResourceGroup", "tags": [ - "Machines" + "Snapshots" ], + "description": "Lists snapshots in the specified subscription and resource group.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/MachineListResult" + "$ref": "#/definitions/SnapshotListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "List Machines in an Agentpool by Managed Cluster": { - "$ref": "./examples/MachineList.json" + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" } }, "x-ms-pageable": { @@ -3403,2014 +4008,2309 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { "get": { - "operationId": "Machines_Get", - "summary": "Get a specific machine in the specified agent pool.", + "operationId": "Snapshots_Get", "tags": [ - "Machines" + "Snapshots" ], + "description": "Gets a snapshot.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Snapshot" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" + } + } + }, + "put": { + "operationId": "Snapshots_CreateOrUpdate", + "tags": [ + "Snapshots" + ], + "description": "Creates or updates a snapshot.", + "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AgentPoolNameParameter" + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" }, { - "$ref": "#/parameters/MachineNameParameter" + "name": "parameters", + "in": "body", + "description": "The snapshot to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'Snapshot' update operation succeeded", "schema": { - "$ref": "#/definitions/Machine" + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "Resource 'Snapshot' create operation succeeded", + "schema": { + "$ref": "#/definitions/Snapshot" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get a Machine in an Agent Pools by Managed Cluster": { - "$ref": "./examples/MachineGet.json" - } + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" + } + } + }, + "patch": { + "operationId": "Snapshots_UpdateTags", + "tags": [ + "Snapshots" + ], + "description": "Updates tags on a snapshot.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the Update snapshot Tags operation.", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" + } + } + }, + "delete": { + "operationId": "Snapshots_Delete", + "tags": [ + "Snapshots" + ], + "description": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the managed cluster resource.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" + } } } } }, "definitions": { - "OperationListResult": { + "AbsoluteMonthlySchedule": { "type": "object", + "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'.", "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/OperationValue" - }, - "x-ms-identifiers": [], - "description": "The list of operations" + "intervalMonths": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of months between each set of occurrences.", + "minimum": 1, + "maximum": 6 + }, + "dayOfMonth": { + "type": "integer", + "format": "int32", + "description": "The date of the month.", + "minimum": 1, + "maximum": 31 } }, - "description": "The List Operation response." + "required": [ + "intervalMonths", + "dayOfMonth" + ] }, - "OperationValue": { + "AccessProfile": { "type": "object", + "description": "Profile for enabling a user to access a managed cluster.", "properties": { - "origin": { - "type": "string", - "readOnly": true, - "description": "The origin of the operation." - }, - "name": { + "kubeConfig": { "type": "string", - "readOnly": true, - "description": "The name of the operation." - }, - "display": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/OperationValueDisplay", - "description": "Describes the properties of a Operation Value Display." + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." } - }, - "description": "Describes the properties of a Operation value." + } }, - "OperationValueDisplay": { + "AdoptionPolicy": { + "type": "string", + "description": "Action if Kubernetes namespace with same name already exists.", + "enum": [ + "Never", + "IfIdentical", + "Always" + ], + "x-ms-enum": { + "name": "AdoptionPolicy", + "modelAsString": true, + "values": [ + { + "name": "Never", + "value": "Never", + "description": "If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail." + }, + { + "name": "IfIdentical", + "value": "IfIdentical", + "description": "Take over the existing namespace to be managed by ARM, if there is no difference." + }, + { + "name": "Always", + "value": "Always", + "description": "Always take over the existing namespace to be managed by ARM, some fields might be overwritten." + } + ] + } + }, + "AdvancedNetworkPolicies": { + "type": "string", + "description": "Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true.", + "enum": [ + "L7", + "FQDN", + "None" + ], + "x-ms-enum": { + "name": "AdvancedNetworkPolicies", + "modelAsString": true, + "values": [ + { + "name": "L7", + "value": "L7", + "description": "Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option." + }, + { + "name": "FQDN", + "value": "FQDN", + "description": "Enable FQDN based network policies" + }, + { + "name": "None", + "value": "None", + "description": "Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)" + } + ] + } + }, + "AdvancedNetworking": { "type": "object", + "description": "Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.", "properties": { - "operation": { - "type": "string", - "readOnly": true, - "description": "The display name of the operation." - }, - "resource": { - "type": "string", - "readOnly": true, - "description": "The display name of the resource the operation applies to." + "enabled": { + "type": "boolean", + "description": "Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false." }, - "description": { - "type": "string", - "readOnly": true, - "description": "The description of the operation." + "observability": { + "$ref": "#/definitions/AdvancedNetworkingObservability", + "description": "Observability profile to enable advanced network metrics and flow logs with historical contexts." }, - "provider": { - "type": "string", - "readOnly": true, - "description": "The resource provider for the operation." + "security": { + "$ref": "#/definitions/AdvancedNetworkingSecurity", + "description": "Security profile to enable security features on cilium based cluster." } - }, - "description": "Describes the properties of a Operation Value Display." + } }, - "SubResource": { + "AdvancedNetworkingObservability": { "type": "object", + "description": "Observability profile to enable advanced network metrics and flow logs with historical contexts.", "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + "enabled": { + "type": "boolean", + "description": "Indicates the enablement of Advanced Networking observability functionalities on clusters." + } + } + }, + "AdvancedNetworkingSecurity": { + "type": "object", + "description": "Security profile to enable security features on cilium based cluster.", + "properties": { + "enabled": { + "type": "boolean", + "description": "This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false." }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" + "advancedNetworkPolicies": { + "$ref": "#/definitions/AdvancedNetworkPolicies", + "description": "Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true." } - }, - "description": "Reference to another subresource.", - "x-ms-azure-resource": true + } }, - "TagsObject": { + "AgentPool": { "type": "object", + "description": "Agent Pool.", "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." + "properties": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "description": "Properties of an agent pool.", + "x-ms-client-flatten": true } }, - "description": "Tags object for patch operations." - }, - "ContainerServiceOSDisk": { - "type": "integer", - "format": "int32", - "maximum": 2048, - "minimum": 0, - "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "ManagedClusterServicePrincipalProfile": { + "AgentPoolAvailableVersions": { "type": "object", + "description": "The list of available versions for an agent pool.", "properties": { - "clientId": { + "id": { "type": "string", - "description": "The ID for the service principal." + "description": "The ID of the agent pool version list.", + "readOnly": true }, - "secret": { + "name": { "type": "string", - "description": "The secret password associated with the service principal in plain text." + "description": "The name of the agent pool version list.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the agent pool version list.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", + "description": "Properties of agent pool available versions.", + "x-ms-client-flatten": true } }, - "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", "required": [ - "clientId" + "properties" ] }, - "VirtualMachinesProfile": { + "AgentPoolAvailableVersionsProperties": { "type": "object", + "description": "The list of available agent pool versions.", "properties": { - "scale": { - "$ref": "#/definitions/ScaleProfile", - "description": "Specifications on how to scale a VirtualMachines agent pool." + "agentPoolVersions": { + "type": "array", + "description": "List of versions available for agent pool.", + "items": { + "$ref": "#/definitions/AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem" + }, + "x-ms-identifiers": [] } - }, - "description": "Specifications on VirtualMachines agent pool." + } }, - "ScaleProfile": { + "AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem": { "type": "object", "properties": { - "manual": { + "default": { + "type": "boolean", + "description": "Whether this version is the default agent pool version." + }, + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "AgentPoolDeleteMachinesParameter": { + "type": "object", + "description": "Specifies a list of machine names from the agent pool to be deleted.", + "properties": { + "machineNames": { "type": "array", + "description": "The agent pool machine names.", "items": { - "$ref": "#/definitions/ManualScaleProfile" - }, - "x-ms-identifiers": [], - "description": "Specifications on how to scale the VirtualMachines agent pool to a fixed size." + "type": "string" + } } }, - "description": "Specifications on how to scale a VirtualMachines agent pool." + "required": [ + "machineNames" + ] }, - "ManualScaleProfile": { + "AgentPoolGatewayProfile": { "type": "object", + "description": "Profile of the managed cluster gateway agent pool.", "properties": { - "size": { - "type": "string", - "description": "VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'." - }, - "count": { + "publicIPPrefixSize": { "type": "integer", "format": "int32", - "description": "Number of nodes." + "description": "The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.", + "default": 31, + "minimum": 28, + "maximum": 31 } - }, - "description": "Specifications on number of machines." - }, - "VirtualMachineNodesStatus": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineNodes" - }, - "x-ms-identifiers": [], - "description": "The status of nodes in a VirtualMachines agent pool." + } }, - "VirtualMachineNodes": { + "AgentPoolListResult": { "type": "object", + "description": "The response of a AgentPool list operation.", "properties": { - "size": { - "type": "string", - "description": "The VM size of the agents used to host this group of nodes." + "value": { + "type": "array", + "description": "The AgentPool items on this page", + "items": { + "$ref": "#/definitions/AgentPool" + } }, - "count": { - "type": "integer", - "format": "int32", - "description": "Number of nodes." + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Current status on a group of nodes of the same vm size." + "required": [ + "value" + ] }, - "ManagedClusterAgentPoolProfileProperties": { + "AgentPoolMode": { + "type": "string", + "description": "The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools", + "enum": [ + "System", + "User", + "Gateway" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "name": "System", + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." + }, + { + "name": "User", + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." + }, + { + "name": "Gateway", + "value": "Gateway", + "description": "Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway." + } + ] + } + }, + "AgentPoolNetworkProfile": { "type": "object", + "description": "Network settings of an agent pool.", "properties": { - "eTag": { - "type": "string", - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", - "readOnly": true - }, - "count": { - "type": "integer", - "format": "int32", - "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." - }, - "vmSize": { - "type": "string", - "description": "The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" - }, - "osDiskSizeGB": { - "$ref": "#/definitions/ContainerServiceOSDisk" + "nodePublicIPTags": { + "type": "array", + "description": "IPTags of instance-level public IPs.", + "items": { + "$ref": "#/definitions/IPTag" + }, + "x-ms-identifiers": [] }, - "osDiskType": { - "$ref": "#/definitions/OSDiskType" + "allowedHostPorts": { + "type": "array", + "description": "The port ranges that are allowed to access. The specified ranges are allowed to overlap.", + "items": { + "$ref": "#/definitions/PortRange" + }, + "x-ms-identifiers": [] }, - "kubeletDiskType": { - "$ref": "#/definitions/KubeletDiskType" + "applicationSecurityGroups": { + "type": "array", + "description": "The IDs of the application security groups which agent pool will associate when created.", + "items": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/applicationSecurityGroups" + } + ] + } + } + } + } + }, + "AgentPoolSSHAccess": { + "type": "string", + "description": "SSH access method of an agent pool.", + "enum": [ + "LocalUser", + "Disabled" + ], + "x-ms-enum": { + "name": "AgentPoolSSHAccess", + "modelAsString": true, + "values": [ + { + "name": "LocalUser", + "value": "LocalUser", + "description": "Can SSH onto the node as a local user using private key." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "SSH service will be turned off on the node." + } + ] + } + }, + "AgentPoolSecurityProfile": { + "type": "object", + "description": "The security settings of an agent pool.", + "properties": { + "enableVTPM": { + "type": "boolean", + "description": "vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." }, - "workloadRuntime": { - "$ref": "#/definitions/WorkloadRuntime" + "enableSecureBoot": { + "type": "boolean", + "description": "Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." }, - "messageOfTheDay": { + "sshAccess": { + "$ref": "#/definitions/AgentPoolSSHAccess", + "description": "SSH access method of an agent pool." + } + } + }, + "AgentPoolStatus": { + "type": "object", + "description": "Contains read-only information about the Agent Pool.", + "properties": { + "provisioningError": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", + "description": "The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted.", + "readOnly": true + } + } + }, + "AgentPoolType": { + "type": "string", + "description": "The type of Agent Pool.", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet", + "VirtualMachines" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true, + "values": [ + { + "name": "VirtualMachineScaleSets", + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "name": "AvailabilitySet", + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + }, + { + "name": "VirtualMachines", + "value": "VirtualMachines", + "description": "Create an Agent Pool backed by a Single Instance VM orchestration mode." + } + ] + } + }, + "AgentPoolUpgradeProfile": { + "type": "object", + "description": "The list of available upgrades for an agent pool.", + "properties": { + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "AgentPoolUpgradeProfileProperties": { + "type": "object", + "description": "The list of available upgrade versions.", + "properties": { + "kubernetesVersion": { "type": "string", - "description": "Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." + "description": "The Kubernetes version (major.minor.patch)." }, - "vnetSubnetID": { + "osType": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ + "description": "The operating system type. The default is Linux.", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true, + "values": [ { - "type": "Microsoft.Network/virtualNetworks/subnets" - } - ] - }, - "description": "The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" - }, - "podSubnetID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ + "name": "Linux", + "value": "Linux", + "description": "Use Linux." + }, { - "type": "Microsoft.Network/virtualNetworks/subnets" + "name": "Windows", + "value": "Windows", + "description": "Use Windows." } ] + } + }, + "upgrades": { + "type": "array", + "description": "List of orchestrator types and versions available for upgrade.", + "items": { + "$ref": "#/definitions/AgentPoolUpgradeProfilePropertiesUpgradesItem" }, - "description": "The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + "x-ms-identifiers": [] }, - "podIPAllocationMode": { - "$ref": "#/definitions/PodIPAllocationMode" - }, - "maxPods": { - "type": "integer", - "format": "int32", - "description": "The maximum number of pods that can run on a node." + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ] + }, + "AgentPoolUpgradeProfilePropertiesUpgradesItem": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." }, - "osType": { - "$ref": "#/definitions/OSType" + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "AgentPoolUpgradeSettings": { + "type": "object", + "description": "Settings for upgrading an agentpool", + "properties": { + "maxSurge": { + "type": "string", + "description": "The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" }, - "osSKU": { - "$ref": "#/definitions/OSSKU" + "maxUnavailable": { + "type": "string", + "description": "The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" }, - "maxCount": { + "drainTimeoutInMinutes": { "type": "integer", "format": "int32", - "description": "The maximum number of nodes for auto-scaling" + "description": "The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes.", + "minimum": 1, + "maximum": 1440 }, - "minCount": { + "nodeSoakDurationInMinutes": { "type": "integer", "format": "int32", - "description": "The minimum number of nodes for auto-scaling" + "description": "The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes.", + "minimum": 0, + "maximum": 30 }, - "enableAutoScaling": { + "undrainableNodeBehavior": { + "$ref": "#/definitions/UndrainableNodeBehavior", + "description": "Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes." + } + } + }, + "AgentPoolWindowsProfile": { + "type": "object", + "description": "The Windows agent pool's specific profile.", + "properties": { + "disableOutboundNat": { "type": "boolean", - "description": "Whether to enable auto-scaler" - }, - "scaleDownMode": { - "$ref": "#/definitions/ScaleDownMode", - "description": "The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." - }, - "type": { - "$ref": "#/definitions/AgentPoolType" - }, - "mode": { - "$ref": "#/definitions/AgentPoolMode" - }, - "orchestratorVersion": { - "type": "string", - "description": "The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." - }, - "currentOrchestratorVersion": { - "readOnly": true, - "type": "string", - "description": "The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used." + "description": "Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled." + } + } + }, + "AzureKeyVaultKms": { + "type": "object", + "description": "Azure Key Vault key management service settings for the security profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Key Vault key management service. The default is false." }, - "nodeImageVersion": { - "readOnly": true, + "keyId": { "type": "string", - "description": "The version of node image" - }, - "upgradeSettings": { - "$ref": "#/definitions/AgentPoolUpgradeSettings", - "description": "Settings for upgrading the agentpool" + "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty." }, - "provisioningState": { - "readOnly": true, + "keyVaultNetworkAccess": { "type": "string", - "description": "The current deployment or provisioning state." - }, - "powerState": { - "description": "Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", - "$ref": "#/definitions/PowerState" - }, - "availabilityZones": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." - }, - "enableNodePublicIP": { - "type": "boolean", - "description": "Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + "description": "Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`.", + "default": "Public", + "enum": [ + "Public", + "Private" + ], + "x-ms-enum": { + "name": "KeyVaultNetworkAccessTypes", + "modelAsString": true, + "values": [ + { + "name": "Public", + "value": "Public" + }, + { + "name": "Private", + "value": "Private" + } + ] + } }, - "nodePublicIPPrefixID": { + "keyVaultResourceId": { "type": "string", "format": "arm-id", + "description": "Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty.", "x-ms-arm-id-details": { "allowedResources": [ { - "type": "Microsoft.Network/publicIPPrefixes" + "type": "Microsoft.KeyVault/vaults" } ] + } + } + } + }, + "ClusterUpgradeSettings": { + "type": "object", + "description": "Settings for upgrading a cluster.", + "properties": { + "overrideSettings": { + "$ref": "#/definitions/UpgradeOverrideSettings", + "description": "Settings for overrides." + } + } + }, + "Code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "Code", + "modelAsString": true, + "values": [ + { + "name": "Running", + "value": "Running", + "description": "The cluster is running." }, - "description": "The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" + { + "name": "Stopped", + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + }, + "CommandResultProperties": { + "type": "object", + "description": "The results of a run command", + "properties": { + "provisioningState": { + "type": "string", + "description": "provisioning State", + "readOnly": true }, - "scaleSetPriority": { - "$ref": "#/definitions/ScaleSetPriority", - "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." + "exitCode": { + "type": "integer", + "format": "int32", + "description": "The exit code of the command", + "readOnly": true }, - "scaleSetEvictionPolicy": { - "$ref": "#/definitions/ScaleSetEvictionPolicy", - "description": "The Virtual Machine Scale Set eviction policy to use. This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." + "startedAt": { + "type": "string", + "format": "date-time", + "description": "The time when the command started.", + "readOnly": true }, - "spotMaxPrice": { - "$ref": "#/definitions/SpotMaxPrice", - "description": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + "finishedAt": { + "type": "string", + "format": "date-time", + "description": "The time when the command finished.", + "readOnly": true }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The tags to be persisted on the agent pool virtual machine scale set." + "logs": { + "type": "string", + "description": "The command output.", + "readOnly": true }, - "nodeLabels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The node labels to be persisted across all nodes in agent pool." + "reason": { + "type": "string", + "description": "An explanation of why provisioningState is set to failed (if so).", + "readOnly": true + } + } + }, + "CompatibleVersions": { + "type": "object", + "description": "Version information about a product/service that is compatible with a service mesh revision.", + "properties": { + "name": { + "type": "string", + "description": "The product/service name." }, - "nodeTaints": { + "versions": { "type": "array", + "description": "Product/service versions compatible with a service mesh add-on revision.", "items": { - "type": "string" + "$ref": "#/definitions/CompatibleVersionsVersionsType" + } + } + } + }, + "CompatibleVersionsVersionsType": { + "type": "string", + "description": "A compatible product/service version." + }, + "ConnectionStatus": { + "type": "string", + "description": "The private link service connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true, + "values": [ + { + "name": "Pending", + "value": "Pending" + }, + { + "name": "Approved", + "value": "Approved" + }, + { + "name": "Rejected", + "value": "Rejected" }, - "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + { + "name": "Disconnected", + "value": "Disconnected" + } + ] + } + }, + "ContainerServiceLinuxProfile": { + "type": "object", + "description": "Profile for Linux VMs in the container service cluster.", + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" }, - "proximityPlacementGroupID": { - "$ref": "#/definitions/ProximityPlacementGroupID", - "description": "The ID for Proximity Placement Group." + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "The SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ] + }, + "ContainerServiceNetworkProfile": { + "type": "object", + "description": "Profile of network configuration.", + "properties": { + "networkPlugin": { + "$ref": "#/definitions/NetworkPlugin", + "description": "Network plugin used for building the Kubernetes network." }, - "kubeletConfig": { - "$ref": "#/definitions/KubeletConfig", - "description": "The Kubelet configuration on the agent pool nodes." + "networkPluginMode": { + "$ref": "#/definitions/NetworkPluginMode", + "description": "The mode the network plugin should use." }, - "linuxOSConfig": { - "$ref": "#/definitions/LinuxOSConfig", - "description": "The OS configuration of Linux agent nodes." + "networkPolicy": { + "$ref": "#/definitions/NetworkPolicy", + "description": "Network policy used for building the Kubernetes network." }, - "enableEncryptionAtHost": { - "type": "boolean", - "description": "Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + "networkMode": { + "$ref": "#/definitions/NetworkMode", + "description": "The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'." }, - "enableUltraSSD": { - "type": "boolean", - "description": "Whether to enable UltraSSD" + "networkDataplane": { + "$ref": "#/definitions/NetworkDataplane", + "description": "Network dataplane used in the Kubernetes cluster." }, - "enableFIPS": { - "type": "boolean", - "description": "Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + "advancedNetworking": { + "$ref": "#/definitions/AdvancedNetworking", + "description": "Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking." }, - "gpuInstanceProfile": { - "$ref": "#/definitions/GPUInstanceProfile", - "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + "podCidr": { + "type": "string", + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.", + "default": "10.244.0.0/16", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" }, - "creationData": { - "$ref": "#/definitions/CreationData", - "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + "serviceCidr": { + "type": "string", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.", + "default": "10.0.0.0/16", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" }, - "capacityReservationGroupID": { - "$ref": "#/definitions/CapacityReservationGroupID", - "description": "AKS will associate the specified agent pool with the Capacity Reservation Group." + "dnsServiceIP": { + "type": "string", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.", + "default": "10.0.0.10", + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" }, - "hostGroupID": { + "outboundType": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ + "description": "The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype).", + "default": "loadBalancer", + "enum": [ + "loadBalancer", + "userDefinedRouting", + "managedNATGateway", + "userAssignedNATGateway", + "none" + ], + "x-ms-enum": { + "name": "OutboundType", + "modelAsString": true, + "values": [ { - "type": "Microsoft.Compute/hostGroups" + "name": "loadBalancer", + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "name": "userDefinedRouting", + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "name": "managedNATGateway", + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "name": "userAssignedNATGateway", + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." + }, + { + "name": "none", + "value": "none", + "description": "The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/" } ] - }, - "description": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts)." - }, - "networkProfile": { - "$ref": "#/definitions/AgentPoolNetworkProfile", - "description": "Network-related settings of an agent pool." - }, - "windowsProfile": { - "$ref": "#/definitions/AgentPoolWindowsProfile", - "description": "The Windows agent pool's specific profile." + } }, - "securityProfile": { - "$ref": "#/definitions/AgentPoolSecurityProfile", - "description": "The security settings of an agent pool." + "loadBalancerSku": { + "$ref": "#/definitions/LoadBalancerSku", + "description": "The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." }, - "gpuProfile": { - "$ref": "#/definitions/GPUProfile", - "description": "GPU settings for the Agent Pool." + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." }, - "gatewayProfile": { - "$ref": "#/definitions/AgentPoolGatewayProfile", - "description": "Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway." + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." }, - "virtualMachinesProfile": { - "$ref": "#/definitions/VirtualMachinesProfile" + "staticEgressGatewayProfile": { + "$ref": "#/definitions/ManagedClusterStaticEgressGatewayProfile", + "description": "The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway." }, - "virtualMachineNodesStatus": { - "$ref": "#/definitions/VirtualMachineNodesStatus" + "podCidrs": { + "type": "array", + "description": "The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.", + "items": { + "type": "string" + } }, - "status": { - "$ref": "#/definitions/AgentPoolStatus", - "description": "Contains read-only information about the Agent Pool." + "serviceCidrs": { + "type": "array", + "description": "The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges.", + "items": { + "type": "string" + } }, - "localDNSProfile": { - "$ref": "#/definitions/LocalDNSProfile", - "description": "Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns." + "ipFamilies": { + "type": "array", + "description": "The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6.", + "items": { + "$ref": "#/definitions/IPFamily" + } } - }, - "description": "Properties for the container service agent pool profile." + } }, - "AgentPoolNetworkProfile": { + "ContainerServiceSshConfiguration": { "type": "object", + "description": "SSH configuration for Linux-based VMs running on Azure.", "properties": { - "nodePublicIPTags": { - "$ref": "#/definitions/NodePublicIPTags", - "description": "IPTags of instance-level public IPs." - }, - "allowedHostPorts": { + "publicKeys": { "type": "array", - "description": "The port ranges that are allowed to access. The specified ranges are allowed to overlap.", + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.", "items": { - "$ref": "#/definitions/PortRange" + "$ref": "#/definitions/ContainerServiceSshPublicKey" }, "x-ms-identifiers": [] - }, - "applicationSecurityGroups": { - "type": "array", - "items": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/applicationSecurityGroups" - } - ] - } - }, - "description": "The IDs of the application security groups which agent pool will associate when created." } }, - "description": "Network settings of an agent pool." + "required": [ + "publicKeys" + ] }, - "NodePublicIPTags": { - "type": "array", - "items": { - "$ref": "#/definitions/IPTag" + "ContainerServiceSshPublicKey": { + "type": "object", + "description": "Contains information about SSH certificate public key data.", + "properties": { + "keyData": { + "type": "string", + "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + } }, - "x-ms-identifiers": [], - "description": "The list of tags associated with the node public IP address." + "required": [ + "keyData" + ] }, - "IPTag": { + "CreationData": { "type": "object", + "description": "Data used when creating a target resource from a source resource.", "properties": { - "ipTagType": { + "sourceResourceId": { "type": "string", - "description": "The IP tag type. Example: RoutingPreference." + "format": "arm-id", + "description": "This is the ARM ID of the source object to be used to create the target object." + } + } + }, + "CredentialResult": { + "type": "object", + "description": "The credential result response.", + "properties": { + "name": { + "type": "string", + "description": "The name of the credential.", + "readOnly": true }, - "tag": { + "value": { "type": "string", - "description": "The value of the IP tag associated with the public IP. Example: Internet." + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file.", + "readOnly": true } - }, - "description": "Contains the IPTag associated with the object." + } }, - "PortRange": { + "CredentialResults": { "type": "object", - "description": "The port range.", + "description": "The list credential result response.", "properties": { - "portStart": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 65535, - "description": "The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd." - }, - "portEnd": { + "kubeconfigs": { + "type": "array", + "description": "Base64-encoded Kubernetes configuration file.", + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "DailySchedule": { + "type": "object", + "description": "For schedules like: 'recur every day' or 'recur every 3 days'.", + "properties": { + "intervalDays": { "type": "integer", "format": "int32", + "description": "Specifies the number of days between each set of occurrences.", "minimum": 1, - "maximum": 65535, - "description": "The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart." - }, - "protocol": { - "type": "string", - "description": "The network protocol of the port.", - "enum": [ - "TCP", - "UDP" - ], - "x-ms-enum": { - "name": "Protocol", - "modelAsString": true, - "values": [ - { - "value": "TCP", - "description": "TCP protocol." - }, - { - "value": "UDP", - "description": "UDP protocol." - } - ] - } + "maximum": 7 } - } + }, + "required": [ + "intervalDays" + ] }, - "ManagedClusterAgentPoolProfile": { + "DateSpan": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" - } - ], + "description": "A date range. For example, between '2022-12-23' and '2023-01-05'.", "properties": { - "name": { + "start": { "type": "string", - "description": "Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.", - "pattern": "^[a-z][a-z0-9]{0,11}$" + "format": "date", + "description": "The start date of the date span." + }, + "end": { + "type": "string", + "format": "date", + "description": "The end date of the date span." } }, "required": [ - "name" - ], - "description": "Profile for the container service agent pool." + "start", + "end" + ] }, - "AgentPoolType": { + "DeletePolicy": { "type": "string", + "description": "Delete options of a namespace.", "enum": [ - "VirtualMachineScaleSets", - "AvailabilitySet", - "VirtualMachines" + "Keep", + "Delete" ], "x-ms-enum": { - "name": "AgentPoolType", + "name": "DeletePolicy", "modelAsString": true, "values": [ { - "value": "VirtualMachineScaleSets", - "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + "name": "Keep", + "value": "Keep", + "description": "Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label." }, { - "value": "AvailabilitySet", - "description": "Use of this is strongly discouraged." - }, - { - "value": "VirtualMachines", - "description": "Create an Agent Pool backed by a Single Instance VM orchestration mode." - } - ] - }, - "description": "The type of Agent Pool." - }, - "AgentPoolMode": { - "type": "string", - "enum": [ - "System", - "User", - "Gateway" - ], - "x-ms-enum": { - "name": "AgentPoolMode", - "modelAsString": true, - "values": [ - { - "value": "System", - "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." - }, - { - "value": "User", - "description": "User agent pools are primarily for hosting your application pods." - }, - { - "value": "Gateway", - "description": "Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway." + "name": "Delete", + "value": "Delete", + "description": "Delete both the ARM resource and the Kubernetes namespace together." } ] - }, - "description": "The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + } }, - "AgentPoolListResult": { + "EndpointDependency": { "type": "object", + "description": "A domain name that AKS agent nodes are reaching at.", "properties": { - "value": { + "domainName": { + "type": "string", + "description": "The domain name of the dependency." + }, + "endpointDetails": { "type": "array", + "description": "The Ports and Protocols used when connecting to domainName.", "items": { - "$ref": "#/definitions/AgentPool" + "$ref": "#/definitions/EndpointDetail" }, - "description": "The list of agent pools." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of agent pool results.", - "readOnly": true + "x-ms-identifiers": [] } - }, - "description": "The response from the List Agent Pools operation." + } }, - "AgentPoolUpgradeSettings": { + "EndpointDetail": { "type": "object", + "description": "connect information from the AKS agent nodes to a single endpoint.", "properties": { - "maxSurge": { - "type": "string", - "description": "The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 10%. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" - }, - "maxUnavailable": { + "ipAddress": { "type": "string", - "description": "The maximum number or percentage of nodes that can be simultaneously unavailable during upgrade. This can either be set to an integer (e.g. '1') or a percentage (e.g. '5%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 0. For more information, including best practices, see: https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster" - }, - "drainTimeoutInMinutes": { - "type": "integer", - "format": "int32", - "maximum": 1440, - "minimum": 1, - "description": "The drain timeout for a node. The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes." + "description": "An IP Address that Domain Name currently resolves to." }, - "nodeSoakDurationInMinutes": { + "port": { "type": "integer", "format": "int32", - "maximum": 30, - "minimum": 0, - "description": "The soak duration for a node. The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes." + "description": "The port an endpoint is connected to." }, - "undrainableNodeBehavior": { + "protocol": { "type": "string", - "description": "Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.", - "enum": [ - "Schedule", - "Cordon" - ], - "x-ms-enum": { - "name": "UndrainableNodeBehavior", - "modelAsString": true, - "values": [ - { - "value": "Cordon", - "description": "AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state." - }, - { - "value": "Schedule", - "description": "AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes." - } - ] - } - } - }, - "description": "Settings for upgrading an agentpool" - }, - "AgentPool": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ], - "properties": { - "properties": { - "description": "Properties of an agent pool.", - "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", - "x-ms-client-flatten": true - } - }, - "description": "Agent Pool." - }, - "ManagedNamespaceListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedNamespace" - }, - "description": "The list of managed namespaces." + "description": "The protocol used for connection" }, - "nextLink": { + "description": { "type": "string", - "description": "The URI to fetch the next page of results, if any." + "description": "Description of the detail" } - }, - "description": "The result of a request to list managed namespaces in a managed cluster." + } }, - "ManagedNamespace": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } + "Expander": { + "type": "string", + "description": "The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information.", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" ], - "properties": { - "systemData": { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", - "readOnly": true, - "description": "The system metadata relating to this resource." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "x-ms-enum": { + "name": "Expander", + "modelAsString": true, + "values": [ + { + "name": "least-waste", + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." }, - "description": "The tags to be persisted on the managed cluster namespace." - }, - "eTag": { - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", - "readOnly": true, - "type": "string" - }, - "location": { - "type": "string", - "description": "The location of the namespace.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "properties": { - "description": "Properties of a namespace.", - "$ref": "#/definitions/NamespaceProperties" - } - }, - "description": "Namespace managed by ARM." - }, - "NamespaceProperties": { - "type": "object", - "description": "Properties of a namespace managed by ARM", - "properties": { - "provisioningState": { - "type": "string", - "readOnly": true, - "description": "The current provisioning state of the namespace.", - "enum": [ - "Updating", - "Deleting", - "Creating", - "Succeeded", - "Failed", - "Canceled" - ], - "x-ms-enum": { - "name": "NamespaceProvisioningState", - "modelAsString": true - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" + { + "name": "most-pods", + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." }, - "description": "The labels of managed namespace." - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" + { + "name": "priority", + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." }, - "description": "The annotations of managed namespace." - }, - "portalFqdn": { - "readOnly": true, - "type": "string", - "description": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." - }, - "defaultResourceQuota": { - "description": "The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied.", - "$ref": "#/definitions/ResourceQuota" - }, - "defaultNetworkPolicy": { - "description": "The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow.", - "$ref": "#/definitions/NetworkPolicies" - }, - "adoptionPolicy": { - "type": "string", - "description": "Action if Kubernetes namespace with same name already exists.", - "enum": [ - "Never", - "IfIdentical", - "Always" - ], - "x-ms-enum": { - "name": "AdoptionPolicy", - "modelAsString": true, - "values": [ - { - "value": "Never", - "description": "If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will fail." - }, - { - "value": "IfIdentical", - "description": "Take over the existing namespace to be managed by ARM, if there is no difference." - }, - { - "value": "Always", - "description": "Always take over the existing namespace to be managed by ARM, some fields might be overwritten." - } - ] - } - }, - "deletePolicy": { - "type": "string", - "description": "Delete options of a namespace.", - "enum": [ - "Keep", - "Delete" - ], - "x-ms-enum": { - "name": "DeletePolicy", - "modelAsString": true, - "values": [ - { - "value": "Keep", - "description": "Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label." - }, - { - "value": "Delete", - "description": "Delete both the ARM resource and the Kubernetes namespace together." - } - ] + { + "name": "random", + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." } - } + ] } }, - "ResourceQuota": { + "ExtendedLocation": { "type": "object", - "description": "Resource quota for the namespace.", + "description": "The complex type of the extended location.", "properties": { - "cpuRequest": { - "type": "string", - "description": "CPU request of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details." - }, - "cpuLimit": { - "type": "string", - "description": "CPU limit of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details." - }, - "memoryRequest": { + "name": { "type": "string", - "description": "Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details." + "description": "The name of the extended location." }, - "memoryLimit": { - "type": "string", - "description": "Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details." + "type": { + "$ref": "#/definitions/ExtendedLocationTypes", + "description": "The type of the extended location." } } }, - "NetworkPolicies": { - "type": "object", - "description": "Default network policy of the namespace, specifying ingress and egress rules.", - "properties": { - "ingress": { - "$ref": "#/definitions/PolicyRule", - "description": "Ingress policy for the network.", - "default": "AllowSameNamespace" - }, - "egress": { - "$ref": "#/definitions/PolicyRule", - "description": "Egress policy for the network.", - "default": "AllowAll" - } + "ExtendedLocationTypes": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true, + "values": [ + { + "name": "EdgeZone", + "value": "EdgeZone" + } + ] } }, - "PolicyRule": { + "GPUDriver": { "type": "string", - "description": "Enum representing different network policy rules.", + "description": "Whether to install GPU drivers. When it's not specified, default is Install.", "enum": [ - "DenyAll", - "AllowAll", - "AllowSameNamespace" + "Install", + "None" ], "x-ms-enum": { - "name": "PolicyRule", + "name": "GPUDriver", "modelAsString": true, "values": [ { - "value": "DenyAll", - "description": "Deny all network traffic." - }, - { - "value": "AllowAll", - "description": "Allow all network traffic." + "name": "Install", + "value": "Install", + "description": "Install driver." }, { - "value": "AllowSameNamespace", - "description": "Allow traffic within the same namespace." + "name": "None", + "value": "None", + "description": "Skip driver install." } ] } }, - "ManagedClusterWindowsProfile": { - "type": "object", - "properties": { - "adminUsername": { - "type": "string", - "description": "Specifies the name of the administrator account.

**Restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length:** 1 character

**Max-length:** 20 characters" - }, - "adminPassword": { + "GPUInstanceProfile": { + "type": "string", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile", + "modelAsString": true, + "values": [ + { + "name": "MIG1g", + "value": "MIG1g" + }, + { + "name": "MIG2g", + "value": "MIG2g" + }, + { + "name": "MIG3g", + "value": "MIG3g" + }, + { + "name": "MIG4g", + "value": "MIG4g" + }, + { + "name": "MIG7g", + "value": "MIG7g" + } + ] + } + }, + "GPUProfile": { + "type": "object", + "description": "GPU settings for the Agent Pool.", + "properties": { + "driver": { + "$ref": "#/definitions/GPUDriver", + "description": "Whether to install GPU drivers. When it's not specified, default is Install." + } + } + }, + "HourInDay": { + "type": "integer", + "format": "int32", + "description": "Hour in a day.", + "minimum": 0, + "maximum": 23 + }, + "IPFamily": { + "type": "string", + "description": "To determine if address belongs IPv4 or IPv6 family", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPFamily", + "modelAsString": true, + "values": [ + { + "name": "IPv4", + "value": "IPv4", + "description": "IPv4 family" + }, + { + "name": "IPv6", + "value": "IPv6", + "description": "IPv6 family" + } + ] + } + }, + "IPTag": { + "type": "object", + "description": "Contains the IPTag associated with the object.", + "properties": { + "ipTagType": { "type": "string", - "description": "Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"" + "description": "The IP tag type. Example: RoutingPreference." }, - "licenseType": { + "tag": { "type": "string", - "enum": [ - "None", - "Windows_Server" - ], - "x-ms-enum": { - "name": "licenseType", - "modelAsString": true, - "values": [ - { - "value": "None", - "description": "No additional licensing is applied." - }, - { - "value": "Windows_Server", - "description": "Enables Azure Hybrid User Benefits for Windows VMs." - } - ] + "description": "The value of the IP tag associated with the public IP. Example: Internet." + } + } + }, + "IstioCertificateAuthority": { + "type": "object", + "description": "Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca", + "properties": { + "plugin": { + "$ref": "#/definitions/IstioPluginCertificateAuthority", + "description": "Plugin certificates information for Service Mesh." + } + } + }, + "IstioComponents": { + "type": "object", + "description": "Istio components configuration.", + "properties": { + "ingressGateways": { + "type": "array", + "description": "Istio ingress gateways.", + "items": { + "$ref": "#/definitions/IstioIngressGateway" }, - "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." - }, - "enableCSIProxy": { - "type": "boolean", - "description": "Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + "x-ms-identifiers": [] }, - "gmsaProfile": { - "$ref": "#/definitions/WindowsGmsaProfile", - "description": "The Windows gMSA Profile in the Managed Cluster." + "egressGateways": { + "type": "array", + "description": "Istio egress gateways.", + "items": { + "$ref": "#/definitions/IstioEgressGateway" + }, + "x-ms-identifiers": [] } - }, - "required": [ - "adminUsername" - ], - "description": "Profile for Windows VMs in the managed cluster." + } }, - "WindowsGmsaProfile": { + "IstioEgressGateway": { "type": "object", + "description": "Istio egress gateway configuration.", "properties": { "enabled": { "type": "boolean", - "description": "Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster." + "description": "Whether to enable the egress gateway." }, - "dnsServer": { + "name": { "type": "string", - "description": "Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + "description": "Name of the Istio add-on egress gateway.", + "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*" }, - "rootDomainName": { + "namespace": { "type": "string", - "description": "Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + "description": "Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress." + }, + "gatewayConfigurationName": { + "type": "string", + "description": "Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in." } }, - "description": "Windows gMSA Profile in the managed cluster." + "required": [ + "enabled", + "name" + ] }, - "ContainerServiceLinuxProfile": { + "IstioIngressGateway": { "type": "object", + "description": "Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`.", "properties": { - "adminUsername": { - "type": "string", - "description": "The administrator username to use for Linux VMs.", - "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + "mode": { + "$ref": "#/definitions/IstioIngressGatewayMode", + "description": "Mode of an ingress gateway." }, - "ssh": { - "$ref": "#/definitions/ContainerServiceSshConfiguration", - "description": "The SSH configuration for Linux-based VMs running on Azure." + "enabled": { + "type": "boolean", + "description": "Whether to enable the ingress gateway." } }, "required": [ - "adminUsername", - "ssh" - ], - "description": "Profile for Linux VMs in the container service cluster." + "mode", + "enabled" + ] }, - "ManagedClusterNodeResourceGroupProfile": { - "type": "object", - "properties": { - "restrictionLevel": { - "type": "string", - "enum": [ - "Unrestricted", - "ReadOnly" - ], - "x-ms-enum": { - "name": "RestrictionLevel", - "modelAsString": true, - "values": [ - { - "value": "Unrestricted", - "description": "All RBAC permissions are allowed on the managed node resource group" - }, - { - "value": "ReadOnly", - "description": "Only */read RBAC permissions allowed on the managed node resource group" - } - ] + "IstioIngressGatewayMode": { + "type": "string", + "description": "Mode of an ingress gateway.", + "enum": [ + "External", + "Internal" + ], + "x-ms-enum": { + "name": "IstioIngressGatewayMode", + "modelAsString": true, + "values": [ + { + "name": "External", + "value": "External", + "description": "The ingress gateway is assigned a public IP address and is publicly accessible." }, - "description": "The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'" - } - }, - "description": "Node resource group lockdown profile for a managed cluster." + { + "name": "Internal", + "value": "Internal", + "description": "The ingress gateway is assigned an internal IP address and cannot is accessed publicly." + } + ] + } }, - "ContainerServiceNetworkProfile": { + "IstioPluginCertificateAuthority": { "type": "object", + "description": "Plugin certificates information for Service Mesh.", "properties": { - "networkPlugin": { + "keyVaultId": { "type": "string", - "enum": [ - "azure", - "kubenet", - "none" - ], - "x-ms-enum": { - "name": "NetworkPlugin", - "modelAsString": true, - "values": [ - { - "value": "azure", - "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." - }, - { - "value": "kubenet", - "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." - }, + "format": "arm-id", + "description": "The resource ID of the Key Vault.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "none", - "description": "No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information." + "type": "Microsoft.KeyVault/vaults" } ] - }, - "description": "Network plugin used for building the Kubernetes network." + } }, - "networkPluginMode": { + "certObjectName": { "type": "string", - "enum": [ - "overlay" - ], - "x-ms-enum": { - "name": "NetworkPluginMode", - "modelAsString": true, - "values": [ - { - "value": "overlay", - "description": "Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay." - } - ] - }, - "description": "The mode the network plugin should use." + "description": "Intermediate certificate object name in Azure Key Vault." }, - "networkPolicy": { + "keyObjectName": { "type": "string", - "enum": [ - "none", - "calico", - "azure", - "cilium" - ], - "x-ms-enum": { - "name": "NetworkPolicy", - "modelAsString": true, - "values": [ - { - "value": "none", - "description": "Network policies will not be enforced. This is the default value when NetworkPolicy is not specified." - }, - { - "value": "calico", - "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." - }, - { - "value": "azure", - "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." - }, - { - "value": "cilium", - "description": "Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'." - } - ] - }, - "description": "Network policy used for building the Kubernetes network." + "description": "Intermediate certificate private key object name in Azure Key Vault." }, - "networkMode": { + "rootCertObjectName": { "type": "string", - "enum": [ - "transparent", - "bridge" - ], - "x-ms-enum": { - "name": "networkMode", - "modelAsString": true, - "values": [ - { - "value": "transparent", - "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." - }, - { - "value": "bridge", - "description": "This is no longer supported" - } - ] - }, - "description": "The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'." - }, - "networkDataplane": { - "type": "string", - "enum": [ - "azure", - "cilium" - ], - "x-ms-enum": { - "name": "networkDataplane", - "modelAsString": true, - "values": [ - { - "value": "azure", - "description": "Use Azure network dataplane." - }, - { - "value": "cilium", - "description": "Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information." - } - ] - }, - "description": "Network dataplane used in the Kubernetes cluster." - }, - "advancedNetworking": { - "$ref": "#/definitions/AdvancedNetworking" + "description": "Root certificate object name in Azure Key Vault." }, - "podCidr": { + "certChainObjectName": { "type": "string", - "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", - "default": "10.244.0.0/16", - "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + "description": "Certificate chain object name in Azure Key Vault." + } + } + }, + "IstioServiceMesh": { + "type": "object", + "description": "Istio service mesh configuration.", + "properties": { + "components": { + "$ref": "#/definitions/IstioComponents", + "description": "Istio components configuration." }, - "serviceCidr": { - "type": "string", - "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", - "default": "10.0.0.0/16", - "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + "certificateAuthority": { + "$ref": "#/definitions/IstioCertificateAuthority", + "description": "Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca" }, - "dnsServiceIP": { + "revisions": { + "type": "array", + "description": "The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade", + "maxItems": 2, + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "KubeletConfig": { + "type": "object", + "description": "Kubelet configurations of agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "properties": { + "cpuManagerPolicy": { "type": "string", - "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", - "default": "10.0.0.10", - "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + "description": "The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." }, - "outboundType": { - "type": "string", - "enum": [ - "loadBalancer", - "userDefinedRouting", - "managedNATGateway", - "userAssignedNATGateway", - "none" - ], - "x-ms-enum": { - "name": "outboundType", - "modelAsString": true, - "values": [ - { - "value": "loadBalancer", - "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." - }, - { - "value": "userDefinedRouting", - "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." - }, - { - "value": "managedNATGateway", - "description": "The AKS-managed NAT gateway is used for egress." - }, - { - "value": "userAssignedNATGateway", - "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." - }, - { - "value": "none", - "description": "The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/" - } - ] - }, - "default": "loadBalancer", - "description": "The outbound (egress) routing method. This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." + "cpuCfsQuota": { + "type": "boolean", + "description": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true." }, - "loadBalancerSku": { + "cpuCfsQuotaPeriod": { "type": "string", - "enum": [ - "standard", - "basic" - ], - "x-ms-enum": { - "name": "loadBalancerSku", - "modelAsString": true, - "values": [ - { - "value": "standard", - "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." - }, - { - "value": "basic", - "description": "Use a basic Load Balancer with limited functionality." - } - ] - }, - "description": "The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + "description": "The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." }, - "loadBalancerProfile": { - "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", - "description": "Profile of the cluster load balancer." + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "description": "The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%" }, - "natGatewayProfile": { - "$ref": "#/definitions/ManagedClusterNATGatewayProfile", - "description": "Profile of the cluster NAT gateway." + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "description": "The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%" }, - "staticEgressGatewayProfile": { - "$ref": "#/definitions/ManagedClusterStaticEgressGatewayProfile", - "description": "The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway." + "topologyManagerPolicy": { + "type": "string", + "description": "The Topology Manager policy to use. For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." }, - "podCidrs": { + "allowedUnsafeSysctls": { "type": "array", + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).", "items": { "type": "string" - }, - "description": "The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." + } }, - "serviceCidrs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The CIDR notation IP ranges from which to assign service cluster IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." }, - "ipFamilies": { + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "containerLogMaxFiles": { + "type": "integer", + "format": "int32", + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 + }, + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." + } + } + }, + "KubeletDiskType": { + "type": "string", + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage.", + "enum": [ + "OS", + "Temporary" + ], + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "name": "OS", + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "name": "Temporary", + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + } + }, + "KubernetesPatchVersion": { + "type": "object", + "description": "Kubernetes patch version profile", + "properties": { + "upgrades": { "type": "array", + "description": "Possible upgrade path for given patch version", "items": { - "type": "string", - "description": "The IP version to use for cluster networking and IP assignment.", - "enum": [ - "IPv4", - "IPv6" - ], - "x-ms-enum": { - "name": "ipFamily", - "modelAsString": true - } - }, - "description": "The IP families used to specify IP versions available to the cluster. IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." + "type": "string" + } } - }, - "description": "Profile of network configuration." + } }, - "AdvancedNetworking": { + "KubernetesSupportPlan": { + "type": "string", + "description": "Different support tiers for AKS managed clusters", + "enum": [ + "KubernetesOfficial", + "AKSLongTermSupport" + ], + "x-ms-enum": { + "name": "KubernetesSupportPlan", + "modelAsString": true, + "values": [ + { + "name": "KubernetesOfficial", + "value": "KubernetesOfficial", + "description": "Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release." + }, + { + "name": "AKSLongTermSupport", + "value": "AKSLongTermSupport", + "description": "Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support." + } + ] + } + }, + "KubernetesVersion": { "type": "object", - "description": "Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see aka.ms/aksadvancednetworking.", + "description": "Kubernetes version profile for given major.minor release.", "properties": { - "enabled": { + "version": { + "type": "string", + "description": "major.minor version of Kubernetes release" + }, + "capabilities": { + "$ref": "#/definitions/KubernetesVersionCapabilities", + "description": "Capabilities on this Kubernetes version." + }, + "isDefault": { "type": "boolean", - "description": "Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If not specified, the default is false." + "description": "Whether this version is default." }, - "observability": { - "$ref": "#/definitions/AdvancedNetworkingObservability" + "isPreview": { + "type": "boolean", + "description": "Whether this version is in preview mode." }, - "security": { - "$ref": "#/definitions/AdvancedNetworkingSecurity" + "patchVersions": { + "type": "object", + "description": "Patch versions of Kubernetes release", + "additionalProperties": { + "$ref": "#/definitions/KubernetesPatchVersion" + } } } }, - "AdvancedNetworkingObservability": { + "KubernetesVersionCapabilities": { "type": "object", - "description": "Observability profile to enable advanced network metrics and flow logs with historical contexts.", + "description": "Capabilities on this Kubernetes version.", "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates the enablement of Advanced Networking observability functionalities on clusters." + "supportPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesSupportPlan" + } } } }, - "AdvancedNetworkingSecurity": { - "type": "object", - "description": "Security profile to enable security features on cilium based cluster.", - "properties": { - "enabled": { - "type": "boolean", - "description": "This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on cilium based clusters. If not specified, the default is false." - }, - "advancedNetworkPolicies": { - "type": "string", - "enum": [ - "L7", - "FQDN", - "None" - ], - "x-ms-enum": { - "name": "advancedNetworkPolicies", - "modelAsString": true, - "values": [ - { - "value": "L7", - "description": "Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN option." - }, - { - "value": "FQDN", - "description": "Enable FQDN based network policies" - }, - { - "value": "None", - "description": "Disable Layer 7 network policies (FQDN, HTTP/S, Kafka)" - } - ] - }, - "description": "Enable advanced network policies. This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves must be configured via the Cilium Network Policy resources, see https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not specified, the default value is FQDN if security.enabled is set to true." - } - } - }, - "MaintenanceConfigurationListResult": { + "KubernetesVersionListResult": { "type": "object", + "description": "Hold values properties, which is array of KubernetesVersion", "properties": { - "value": { + "values": { "type": "array", + "description": "Array of AKS supported Kubernetes versions.", "items": { - "$ref": "#/definitions/MaintenanceConfiguration" + "$ref": "#/definitions/KubernetesVersion" }, - "description": "The list of maintenance configurations." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of maintenance configuration results.", - "readOnly": true + "x-ms-identifiers": [] } - }, - "description": "The response from the List maintenance configurations operation." + } }, - "MaintenanceConfiguration": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } + "LicenseType": { + "type": "string", + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details.", + "enum": [ + "None", + "Windows_Server" ], - "properties": { - "systemData": { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", - "readOnly": true, - "description": "The system metadata relating to this resource." - }, - "properties": { - "description": "Properties of a default maintenance configuration.", - "$ref": "#/definitions/MaintenanceConfigurationProperties", - "x-ms-client-flatten": true - } - }, - "description": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." - }, - "MaintenanceConfigurationProperties": { - "type": "object", - "properties": { - "timeInWeek": { - "type": "array", - "items": { - "$ref": "#/definitions/TimeInWeek" - }, - "x-ms-identifiers": [], - "description": "Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." - }, - "notAllowedTime": { - "type": "array", - "items": { - "$ref": "#/definitions/TimeSpan" + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "No additional licensing is applied." }, - "x-ms-identifiers": [], - "description": "Time slots on which upgrade is not allowed." - }, - "maintenanceWindow": { - "type": "object", - "$ref": "#/definitions/MaintenanceWindow", - "description": "Maintenance window for the maintenance configuration." - } - }, - "description": "Properties used to configure planned maintenance for a Managed Cluster." + { + "name": "Windows_Server", + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + } }, - "MaintenanceWindow": { + "LinuxOSConfig": { "type": "object", + "description": "OS configurations of Linux agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", "properties": { - "schedule": { - "$ref": "#/definitions/Schedule", - "description": "Recurrence schedule for the maintenance window." - }, - "durationHours": { - "type": "integer", - "format": "int32", - "minimum": 4, - "maximum": 24, - "default": 24, - "description": "Length of maintenance window range from 4 to 24 hours." - }, - "utcOffset": { - "type": "string", - "pattern": "^(-|\\+)[0-9]{2}:[0-9]{2}$", - "description": "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'." + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." }, - "startDate": { + "transparentHugePageEnabled": { "type": "string", - "format": "date", - "description": "The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away." + "description": "Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." }, - "startTime": { + "transparentHugePageDefrag": { "type": "string", - "pattern": "^\\d{2}:\\d{2}$", - "description": "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'." - }, - "notAllowedDates": { - "type": "array", - "items": { - "$ref": "#/definitions/DateSpan" - }, - "x-ms-identifiers": [], - "description": "Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time." - } - }, - "description": "Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster.", - "required": [ - "schedule", - "durationHours", - "startTime" - ] - }, - "Schedule": { - "type": "object", - "properties": { - "daily": { - "$ref": "#/definitions/DailySchedule" - }, - "weekly": { - "$ref": "#/definitions/WeeklySchedule" - }, - "absoluteMonthly": { - "$ref": "#/definitions/AbsoluteMonthlySchedule" + "description": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." }, - "relativeMonthly": { - "$ref": "#/definitions/RelativeMonthlySchedule" - } - }, - "description": "One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule." - }, - "DailySchedule": { - "type": "object", - "properties": { - "intervalDays": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 7, - "description": "Specifies the number of days between each set of occurrences." - } - }, - "description": "For schedules like: 'recur every day' or 'recur every 3 days'.", - "required": [ - "intervalDays" - ] - }, - "WeeklySchedule": { - "type": "object", - "properties": { - "intervalWeeks": { + "swapFileSizeMB": { "type": "integer", "format": "int32", - "minimum": 1, - "maximum": 4, - "description": "Specifies the number of weeks between each set of occurrences." - }, - "dayOfWeek": { - "$ref": "#/definitions/WeekDay", - "description": "Specifies on which day of the week the maintenance occurs." + "description": "The size in MB of a swap file that will be created on each node." } - }, - "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'.", - "required": [ - "intervalWeeks", - "dayOfWeek" - ] + } }, - "AbsoluteMonthlySchedule": { - "type": "object", - "properties": { - "intervalMonths": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 6, - "description": "Specifies the number of months between each set of occurrences." - }, - "dayOfMonth": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 31, - "description": "The date of the month." - } - }, - "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'.", - "required": [ - "intervalMonths", - "dayOfMonth" - ] + "LoadBalancerSku": { + "type": "string", + "description": "The load balancer sku for the managed cluster. The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs.", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "LoadBalancerSku", + "modelAsString": true, + "values": [ + { + "name": "standard", + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "name": "basic", + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + } }, - "RelativeMonthlySchedule": { + "LocalDNSOverride": { "type": "object", + "description": "Overrides for localDNS profile.", "properties": { - "intervalMonths": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 6, - "description": "Specifies the number of months between each set of occurrences." - }, - "weekIndex": { + "queryLogging": { "type": "string", + "description": "Log level for DNS queries in localDNS.", + "default": "Error", "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last" + "Error", + "Log" ], "x-ms-enum": { - "name": "type", + "name": "LocalDNSQueryLogging", "modelAsString": true, "values": [ { - "value": "First", - "description": "First week of the month." - }, - { - "value": "Second", - "description": "Second week of the month." + "name": "Error", + "value": "Error", + "description": "Enables error logging in localDNS. See [errors plugin](https://coredns.io/plugins/errors) for more information." }, { - "value": "Third", - "description": "Third week of the month." - }, + "name": "Log", + "value": "Log", + "description": "Enables query logging in localDNS. See [log plugin](https://coredns.io/plugins/log) for more information." + } + ] + } + }, + "protocol": { + "type": "string", + "description": "Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.", + "default": "PreferUDP", + "enum": [ + "PreferUDP", + "ForceTCP" + ], + "x-ms-enum": { + "name": "LocalDNSProtocol", + "modelAsString": true, + "values": [ { - "value": "Fourth", - "description": "Fourth week of the month." + "name": "PreferUDP", + "value": "PreferUDP", + "description": "Prefer UDP protocol for connections from localDNS to upstream DNS server." }, { - "value": "Last", - "description": "Last week of the month." + "name": "ForceTCP", + "value": "ForceTCP", + "description": "Enforce TCP protocol for connections from localDNS to upstream DNS server." } ] - }, - "description": "The week index. Specifies on which week of the month the dayOfWeek applies." + } }, - "dayOfWeek": { - "$ref": "#/definitions/WeekDay", - "description": "Specifies on which day of the week the maintenance occurs." - } - }, - "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'.", - "required": [ - "intervalMonths", - "weekIndex", - "dayOfWeek" - ] - }, - "DateSpan": { - "type": "object", - "properties": { - "start": { + "forwardDestination": { "type": "string", - "format": "date", - "description": "The start date of the date span." + "description": "Destination server for DNS queries to be forwarded from localDNS.", + "default": "ClusterCoreDNS", + "enum": [ + "ClusterCoreDNS", + "VnetDNS" + ], + "x-ms-enum": { + "name": "LocalDNSForwardDestination", + "modelAsString": true, + "values": [ + { + "name": "ClusterCoreDNS", + "value": "ClusterCoreDNS", + "description": "Forward DNS queries from localDNS to cluster CoreDNS." + }, + { + "name": "VnetDNS", + "value": "VnetDNS", + "description": "Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured." + } + ] + } }, - "end": { + "forwardPolicy": { "type": "string", - "format": "date", - "description": "The end date of the date span." + "description": "Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information.", + "default": "Sequential", + "enum": [ + "Sequential", + "RoundRobin", + "Random" + ], + "x-ms-enum": { + "name": "LocalDNSForwardPolicy", + "modelAsString": true, + "values": [ + { + "name": "Sequential", + "value": "Sequential", + "description": "Implements sequential upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." + }, + { + "name": "RoundRobin", + "value": "RoundRobin", + "description": "Implements round robin upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." + }, + { + "name": "Random", + "value": "Random", + "description": "Implements random upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." + } + ] + } + }, + "maxConcurrent": { + "type": "integer", + "format": "int32", + "description": "Maximum number of concurrent queries. See [forward plugin](https://coredns.io/plugins/forward) for more information.", + "default": 1000 + }, + "cacheDurationInSeconds": { + "type": "integer", + "format": "int32", + "description": "Cache max TTL in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information.", + "default": 3600 + }, + "serveStaleDurationInSeconds": { + "type": "integer", + "format": "int32", + "description": "Serve stale duration in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information.", + "default": 3600 + }, + "serveStale": { + "type": "string", + "description": "Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information.", + "default": "Immediate", + "enum": [ + "Verify", + "Immediate", + "Disable" + ], + "x-ms-enum": { + "name": "LocalDNSServeStale", + "modelAsString": true, + "values": [ + { + "name": "Verify", + "value": "Verify", + "description": "Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https://coredns.io/plugins/cache) for more information." + }, + { + "name": "Immediate", + "value": "Immediate", + "description": "Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https://coredns.io/plugins/cache) for more information." + }, + { + "name": "Disable", + "value": "Disable", + "description": "Disable serving stale data." + } + ] + } } - }, - "description": "A date range. For example, between '2022-12-23' and '2023-01-05'.", - "required": [ - "start", - "end" - ] + } }, - "TimeInWeek": { + "LocalDNSProfile": { "type": "object", + "description": "Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.", "properties": { - "day": { - "$ref": "#/definitions/WeekDay", - "description": "The day of the week." + "mode": { + "type": "string", + "description": "Mode of enablement for localDNS.", + "default": "Preferred", + "enum": [ + "Preferred", + "Required", + "Disabled" + ], + "x-ms-enum": { + "name": "LocalDNSMode", + "modelAsString": true, + "values": [ + { + "name": "Preferred", + "value": "Preferred", + "description": "If the current orchestrator version supports this feature, prefer enabling localDNS." + }, + { + "name": "Required", + "value": "Required", + "description": "Enable localDNS." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disable localDNS." + } + ] + } }, - "hourSlots": { - "type": "array", - "items": { - "$ref": "#/definitions/HourInDay" - }, - "description": "A list of hours in the day used to identify a time range. Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + "state": { + "$ref": "#/definitions/LocalDNSState", + "description": "System-generated state of localDNS.", + "readOnly": true + }, + "vnetDNSOverrides": { + "type": "object", + "description": "VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).", + "additionalProperties": { + "$ref": "#/definitions/LocalDNSOverride" + } + }, + "kubeDNSOverrides": { + "type": "object", + "description": "KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).", + "additionalProperties": { + "$ref": "#/definitions/LocalDNSOverride" + } } - }, - "description": "Time in a week." + } }, - "WeekDay": { + "LocalDNSState": { "type": "string", + "description": "System-generated state of localDNS.", "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" + "Enabled", + "Disabled" ], "x-ms-enum": { - "name": "WeekDay", - "modelAsString": true - }, - "description": "The weekday enum." - }, - "HourInDay": { - "type": "integer", - "format": "int32", - "maximum": 23, - "minimum": 0, - "description": "Hour in a day." + "name": "LocalDNSState", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "localDNS is enabled." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "localDNS is disabled." + } + ] + } }, - "TimeSpan": { + "Machine": { "type": "object", + "description": "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.", "properties": { - "start": { - "type": "string", - "format": "date-time", - "description": "The start of a time span" + "properties": { + "$ref": "#/definitions/MachineProperties", + "description": "The properties of the machine" }, - "end": { - "type": "string", - "format": "date-time", - "description": "The end of a time span" + "zones": { + "type": "array", + "description": "The Availability zone in which machine is located.", + "items": { + "type": "string" + }, + "readOnly": true } }, - "description": "A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "RunCommandRequest": { + "MachineIpAddress": { "type": "object", + "description": "The machine IP address details.", "properties": { - "command": { - "type": "string", - "description": "The command to run." - }, - "context": { - "type": "string", - "description": "A base64 encoded zip file containing the files required by the command." + "family": { + "$ref": "#/definitions/IPFamily", + "description": "To determine if address belongs IPv4 or IPv6 family", + "readOnly": true }, - "clusterToken": { + "ip": { "type": "string", - "description": "AuthToken issued for AKS AAD Server App." + "description": "IPv4 or IPv6 address of the machine", + "readOnly": true } - }, - "description": "A run command request", - "required": [ - "command" - ] + } }, - "RunCommandResult": { + "MachineListResult": { "type": "object", + "description": "The response of a Machine list operation.", "properties": { - "id": { - "type": "string", - "description": "The command id.", - "readOnly": true + "value": { + "type": "array", + "description": "The Machine items on this page", + "items": { + "$ref": "#/definitions/Machine" + } }, - "properties": { - "description": "Properties of command result.", - "$ref": "#/definitions/CommandResultProperties", - "x-ms-client-flatten": true + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "run command result." + "required": [ + "value" + ] }, - "CommandResultProperties": { - "type": "object", - "properties": { - "provisioningState": { - "type": "string", - "readOnly": true, - "description": "provisioning State" - }, - "exitCode": { - "type": "integer", - "format": "int32", - "readOnly": true, - "description": "The exit code of the command" - }, - "startedAt": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The time when the command started." - }, - "finishedAt": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The time when the command finished." - }, - "logs": { - "type": "string", - "readOnly": true, - "description": "The command output." - }, - "reason": { - "type": "string", - "readOnly": true, - "description": "An explanation of why provisioningState is set to failed (if so)." - } - }, - "description": "The results of a run command" - }, - "ManagedClusterNATGatewayProfile": { + "MachineNetworkProperties": { "type": "object", + "description": "network properties of the machine", "properties": { - "managedOutboundIPProfile": { - "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", - "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." - }, - "effectiveOutboundIPs": { + "ipAddresses": { "type": "array", - "readOnly": true, + "description": "IPv4, IPv6 addresses of the machine", "items": { - "$ref": "#/definitions/ResourceReference" + "$ref": "#/definitions/MachineIpAddress" }, - "description": "The effective outbound IP resources of the cluster NAT gateway." - }, - "idleTimeoutInMinutes": { - "type": "integer", - "format": "int32", - "maximum": 120, - "minimum": 4, - "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", - "default": 4 - } - }, - "description": "Profile of the managed cluster NAT gateway." - }, - "ManagedClusterManagedOutboundIPProfile": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int32", - "maximum": 16, - "minimum": 1, - "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", - "default": 1 + "readOnly": true, + "x-ms-identifiers": [] } - }, - "description": "Profile of the managed outbound IP resources of the managed cluster." + } }, - "ManagedClusterLoadBalancerProfile": { + "MachineProperties": { "type": "object", + "description": "The properties of the machine", "properties": { - "managedOutboundIPs": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int32", - "maximum": 100, - "minimum": 1, - "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", - "default": 1 - }, - "countIPv6": { - "type": "integer", - "format": "int32", - "maximum": 100, - "minimum": 0, - "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. ", - "default": 0 - } - }, - "description": "Desired managed outbound IPs for the cluster load balancer." - }, - "outboundIPPrefixes": { - "type": "object", - "properties": { - "publicIPPrefixes": { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - }, - "description": "A list of public IP prefix resources." - } - }, - "description": "Desired outbound IP Prefix resources for the cluster load balancer." - }, - "outboundIPs": { - "type": "object", - "properties": { - "publicIPs": { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - }, - "description": "A list of public IP resources." - } - }, - "description": "Desired outbound IP resources for the cluster load balancer." - }, - "effectiveOutboundIPs": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ResourceReference" - }, - "description": "The effective outbound IP resources of the cluster load balancer." - }, - "allocatedOutboundPorts": { - "type": "integer", - "format": "int32", - "maximum": 64000, - "minimum": 0, - "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", - "default": 0 - }, - "idleTimeoutInMinutes": { - "type": "integer", - "format": "int32", - "maximum": 120, - "minimum": 4, - "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", - "default": 30 - }, - "enableMultipleStandardLoadBalancers": { - "type": "boolean", - "description": "Enable multiple standard load balancers per AKS cluster or not." + "network": { + "$ref": "#/definitions/MachineNetworkProperties", + "description": "network properties of the machine", + "readOnly": true }, - "backendPoolType": { + "resourceId": { "type": "string", - "x-ms-enum": { - "name": "BackendPoolType", - "modelAsString": true, - "values": [ + "format": "arm-id", + "description": "Azure resource id of the machine. It can be used to GET underlying VM Instance", + "readOnly": true, + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "NodeIPConfiguration", - "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." + "type": "Microsoft.Compute/virtualMachines" }, { - "value": "NodeIP", - "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines" } ] - }, - "enum": [ - "NodeIPConfiguration", - "NodeIP" - ], - "description": "The type of the managed inbound Load Balancer BackendPool.", - "default": "NodeIPConfiguration" + } } - }, - "description": "Profile of the managed cluster load balancer." + } }, - "ResourceReference": { + "MaintenanceConfiguration": { "type": "object", + "description": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster. See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance.", "properties": { - "id": { - "type": "string", - "format": "arm-id", - "description": "The fully qualified Azure resource id." + "properties": { + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "description": "Properties of a default maintenance configuration.", + "x-ms-client-flatten": true } }, - "description": "A reference to an Azure resource." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "ContainerServiceSshConfiguration": { + "MaintenanceConfigurationListResult": { "type": "object", + "description": "The response of a MaintenanceConfiguration list operation.", "properties": { - "publicKeys": { + "value": { "type": "array", + "description": "The MaintenanceConfiguration items on this page", "items": { - "$ref": "#/definitions/ContainerServiceSshPublicKey" - }, - "x-ms-identifiers": [], - "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified." + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "SSH configuration for Linux-based VMs running on Azure.", "required": [ - "publicKeys" + "value" ] }, - "ContainerServiceSshPublicKey": { + "MaintenanceConfigurationProperties": { "type": "object", + "description": "Properties used to configure planned maintenance for a Managed Cluster.", "properties": { - "keyData": { - "type": "string", - "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + "timeInWeek": { + "type": "array", + "description": "Time slots during the week when planned maintenance is allowed to proceed. If two array entries specify the same day of the week, the applied configuration is the union of times in both entries.", + "items": { + "$ref": "#/definitions/TimeInWeek" + }, + "x-ms-identifiers": [] + }, + "notAllowedTime": { + "type": "array", + "description": "Time slots on which upgrade is not allowed.", + "items": { + "$ref": "#/definitions/TimeSpan" + }, + "x-ms-identifiers": [] + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window for the maintenance configuration." } - }, - "required": [ - "keyData" - ], - "description": "Contains information about SSH certificate public key data." + } }, - "ManagedClusterListResult": { + "MaintenanceWindow": { "type": "object", + "description": "Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster.", "properties": { - "value": { + "schedule": { + "$ref": "#/definitions/Schedule", + "description": "Recurrence schedule for the maintenance window." + }, + "durationHours": { + "type": "integer", + "format": "int32", + "description": "Length of maintenance window range from 4 to 24 hours.", + "default": 24, + "minimum": 4, + "maximum": 24 + }, + "utcOffset": { + "type": "string", + "description": "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'.", + "pattern": "^(-|\\+)[0-9]{2}:[0-9]{2}$" + }, + "startDate": { + "type": "string", + "format": "date", + "description": "The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away." + }, + "startTime": { + "type": "string", + "description": "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'.", + "pattern": "^\\d{2}:\\d{2}$" + }, + "notAllowedDates": { "type": "array", + "description": "Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time.", "items": { - "$ref": "#/definitions/ManagedCluster" + "$ref": "#/definitions/DateSpan" }, - "description": "The list of managed clusters." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of managed cluster results.", - "readOnly": true + "x-ms-identifiers": [] } }, - "description": "The response from the List Managed Clusters operation." + "required": [ + "schedule", + "durationHours", + "startTime" + ] }, "ManagedCluster": { "type": "object", + "description": "Managed cluster.", "properties": { + "properties": { + "$ref": "#/definitions/ManagedClusterProperties", + "description": "Properties of a managed cluster.", + "x-ms-client-flatten": true + }, "eTag": { "type": "string", - "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", + "description": "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.", "readOnly": true }, "sku": { @@ -5425,11 +6325,6 @@ "$ref": "#/definitions/ManagedClusterIdentity", "description": "The identity of the managed cluster, if configured." }, - "properties": { - "description": "Properties of a managed cluster.", - "$ref": "#/definitions/ManagedClusterProperties", - "x-ms-client-flatten": true - }, "kind": { "type": "string", "description": "This is primarily used to expose different UI experiences in the portal for different kinds" @@ -5437,379 +6332,67 @@ }, "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } - ], - "description": "Managed cluster." + ] }, - "ManagedClusterProperties": { + "ManagedClusterAADProfile": { "type": "object", + "description": "AADProfile specifies attributes for Azure Active Directory integration. For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad).", "properties": { - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The current provisioning state." + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." }, - "powerState": { - "$ref": "#/definitions/PowerState", - "description": "The Power State of the cluster.", - "readOnly": true - }, - "maxAgentPools": { - "readOnly": true, - "type": "integer", - "format": "int32", - "description": "The max number of agent pools for the managed cluster." - }, - "kubernetesVersion": { - "type": "string", - "description": "The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." - }, - "currentKubernetesVersion": { - "readOnly": true, - "type": "string", - "description": "The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used." - }, - "dnsPrefix": { - "type": "string", - "description": "The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created." - }, - "fqdnSubdomain": { - "type": "string", - "description": "The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created." - }, - "fqdn": { - "readOnly": true, - "type": "string", - "description": "The FQDN of the master pool." - }, - "privateFQDN": { - "readOnly": true, - "type": "string", - "description": "The FQDN of private cluster." - }, - "azurePortalFQDN": { - "readOnly": true, - "type": "string", - "description": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." }, - "agentPoolProfiles": { + "adminGroupObjectIDs": { "type": "array", + "description": "The list of AAD group object IDs that will have admin role of the cluster.", "items": { - "$ref": "#/definitions/ManagedClusterAgentPoolProfile" - }, - "x-ms-identifiers": [], - "description": "The agent pool properties." - }, - "linuxProfile": { - "$ref": "#/definitions/ContainerServiceLinuxProfile", - "description": "The profile for Linux VMs in the Managed Cluster." - }, - "windowsProfile": { - "$ref": "#/definitions/ManagedClusterWindowsProfile", - "description": "The profile for Windows VMs in the Managed Cluster." - }, - "servicePrincipalProfile": { - "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", - "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." - }, - "addonProfiles": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ManagedClusterAddonProfile" - }, - "description": "The profile of managed cluster add-on." - }, - "podIdentityProfile": { - "$ref": "#/definitions/ManagedClusterPodIdentityProfile", - "description": "The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." - }, - "oidcIssuerProfile": { - "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile", - "description": "The OIDC issuer profile of the Managed Cluster." + "type": "string" + } }, - "nodeResourceGroup": { + "clientAppID": { "type": "string", - "description": "The name of the resource group containing agent pool nodes." - }, - "nodeResourceGroupProfile": { - "$ref": "#/definitions/ManagedClusterNodeResourceGroupProfile", - "description": "Profile of the node resource group configuration." - }, - "enableRBAC": { - "type": "boolean", - "description": "Whether to enable Kubernetes Role-Based Access Control." - }, - "supportPlan": { - "$ref": "#/definitions/KubernetesSupportPlan", - "description": "The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'." - }, - "networkProfile": { - "$ref": "#/definitions/ContainerServiceNetworkProfile", - "description": "The network configuration profile." - }, - "aadProfile": { - "$ref": "#/definitions/ManagedClusterAADProfile", - "description": "The Azure Active Directory configuration." - }, - "autoUpgradeProfile": { - "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", - "description": "The auto upgrade configuration." - }, - "upgradeSettings": { - "$ref": "#/definitions/ClusterUpgradeSettings", - "description": "Settings for upgrading a cluster." - }, - "autoScalerProfile": { - "type": "object", - "properties": { - "balance-similar-node-groups": { - "type": "string", - "description": "Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'" - }, - "daemonset-eviction-for-empty-nodes": { - "type": "boolean", - "description": "DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted." - }, - "daemonset-eviction-for-occupied-nodes": { - "type": "boolean", - "description": "DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted." - }, - "ignore-daemonsets-utilization": { - "type": "boolean", - "description": "Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions." - }, - "expander": { - "type": "string", - "enum": [ - "least-waste", - "most-pods", - "priority", - "random" - ], - "x-ms-enum": { - "name": "expander", - "modelAsString": true, - "values": [ - { - "value": "least-waste", - "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." - }, - { - "value": "most-pods", - "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." - }, - { - "value": "priority", - "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." - }, - { - "value": "random", - "description": "Used when you don't have a particular need for the node groups to scale differently." - } - ] - }, - "description": "The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." - }, - "max-empty-bulk-delete": { - "type": "string", - "description": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10." - }, - "max-graceful-termination-sec": { - "type": "string", - "description": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600." - }, - "max-node-provision-time": { - "type": "string", - "description": "The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "max-total-unready-percentage": { - "type": "string", - "description": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0." - }, - "new-pod-scale-up-delay": { - "type": "string", - "description": "Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." - }, - "ok-total-unready-count": { - "type": "string", - "description": "The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3." - }, - "scan-interval": { - "type": "string", - "description": "How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds." - }, - "scale-down-delay-after-add": { - "type": "string", - "description": "How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-delay-after-delete": { - "type": "string", - "description": "How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-delay-after-failure": { - "type": "string", - "description": "How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-unneeded-time": { - "type": "string", - "description": "How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-unready-time": { - "type": "string", - "description": "How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." - }, - "scale-down-utilization-threshold": { - "type": "string", - "description": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'." - }, - "skip-nodes-with-local-storage": { - "type": "string", - "description": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true." - }, - "skip-nodes-with-system-pods": { - "type": "string", - "description": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true." - } - }, - "description": "Parameters to be applied to the cluster-autoscaler when enabled" - }, - "apiServerAccessProfile": { - "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", - "description": "The access profile for managed cluster API server." + "description": "(DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy." }, - "diskEncryptionSetID": { + "serverAppID": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Compute/diskEncryptionSets" - } - ] - }, - "description": "The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" - }, - "identityProfile": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "description": "The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is \"kubeletidentity\", with value of \"resourceId\": \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\"." - }, - "privateLinkResources": { - "type": "array", - "items": { - "$ref": "#/definitions/PrivateLinkResource" - }, - "description": "Private link resources associated with the cluster." - }, - "disableLocalAccounts": { - "type": "boolean", - "description": "If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." - }, - "httpProxyConfig": { - "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", - "description": "Configurations for provisioning the cluster with HTTP proxy servers." - }, - "securityProfile": { - "$ref": "#/definitions/ManagedClusterSecurityProfile", - "description": "Security profile for the managed cluster." - }, - "storageProfile": { - "$ref": "#/definitions/ManagedClusterStorageProfile", - "description": "Storage profile for the managed cluster." - }, - "ingressProfile": { - "$ref": "#/definitions/ManagedClusterIngressProfile", - "description": "Ingress profile for the managed cluster." + "description": "(DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy." }, - "publicNetworkAccess": { + "serverAppSecret": { "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "PublicNetworkAccess", - "modelAsString": true - }, - "description": "PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS" - }, - "workloadAutoScalerProfile": { - "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfile" - }, - "azureMonitorProfile": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfile" - }, - "serviceMeshProfile": { - "$ref": "#/definitions/ServiceMeshProfile" + "description": "(DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy." }, - "resourceUID": { - "readOnly": true, + "tenantID": { "type": "string", - "description": "The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)" - }, - "metricsProfile": { - "$ref": "#/definitions/ManagedClusterMetricsProfile", - "description": "Optional cluster metrics configuration." - }, - "nodeProvisioningProfile": { - "$ref": "#/definitions/ManagedClusterNodeProvisioningProfile", - "description": "Node provisioning settings that apply to the whole cluster." - }, - "bootstrapProfile": { - "$ref": "#/definitions/ManagedClusterBootstrapProfile", - "description": "Profile of the cluster bootstrap configuration." - }, - "aiToolchainOperatorProfile": { - "$ref": "#/definitions/ManagedClusterAIToolchainOperatorProfile", - "description": "AI toolchain operator settings that apply to the whole cluster." - }, - "status": { - "$ref": "#/definitions/ManagedClusterStatus", - "description": "Contains read-only information about the Managed Cluster." + "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." } - }, - "description": "Properties of the managed cluster." + } }, - "PowerState": { + "ManagedClusterAIToolchainOperatorProfile": { "type": "object", - "description": "Describes the Power State of the cluster", + "description": "When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them.", "properties": { - "code": { - "type": "string", - "description": "Tells whether the cluster is Running or Stopped", - "enum": [ - "Running", - "Stopped" - ], - "x-ms-enum": { - "name": "code", - "modelAsString": true, - "values": [ - { - "value": "Running", - "description": "The cluster is running." - }, - { - "value": "Stopped", - "description": "The cluster is stopped." - } - ] - } + "enabled": { + "type": "boolean", + "description": "Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not." } } }, "ManagedClusterAPIServerAccessProfile": { "type": "object", + "description": "Access profile for managed cluster API server.", "properties": { "authorizedIPRanges": { "type": "array", + "description": "The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges).", "items": { "type": "string" - }, - "description": "The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." + } }, "enablePrivateCluster": { "type": "boolean", @@ -5834,2956 +6417,3468 @@ "subnetId": { "type": "string", "format": "arm-id", + "description": "The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration.", "x-ms-arm-id-details": { "allowedResources": [ { "type": "Microsoft.Network/virtualNetworks/subnets" } ] - }, - "description": "The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration." + } + } + } + }, + "ManagedClusterAccessProfile": { + "type": "object", + "description": "Managed cluster Access Profile.", + "properties": { + "properties": { + "$ref": "#/definitions/AccessProfile", + "description": "AccessProfile of a managed cluster.", + "x-ms-client-flatten": true } }, - "description": "Access profile for managed cluster API server." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" + } + ] }, - "ManagedClusterIdentity": { + "ManagedClusterAddonProfile": { "type": "object", + "description": "A Kubernetes add-on profile for a managed cluster.", "properties": { - "principalId": { - "readOnly": true, - "type": "string", - "description": "The principal id of the system assigned identity which is used by master components." - }, - "tenantId": { - "readOnly": true, - "type": "string", - "description": "The tenant id of the system assigned identity which is used by master components." - }, - "type": { - "type": "string", - "description": "The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", - "enum": [ - "SystemAssigned", - "UserAssigned", - "None" - ], - "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": false, - "values": [ - { - "value": "SystemAssigned", - "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." - }, - { - "value": "UserAssigned", - "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." - }, - { - "value": "None", - "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." - } - ] - } - }, - "delegatedResources": { - "$ref": "../../../../../../common-types/resource-management/v4/managedidentitywithdelegation.json#/definitions/DelegatedResources", - "description": "The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only." + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." }, - "userAssignedIdentities": { + "config": { "type": "object", + "description": "Key-value pairs for configuring an add-on.", "additionalProperties": { - "type": "object", - "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", - "properties": { - "principalId": { - "readOnly": true, - "type": "string", - "description": "The principal id of user assigned identity." - }, - "clientId": { - "readOnly": true, - "type": "string", - "description": "The client id of user assigned identity." - } - } - }, - "description": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." - } - }, - "description": "Identity for the managed cluster." - }, - "UserAssignedIdentity": { - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.ManagedIdentity/userAssignedIdentities" - } - ] - }, - "description": "The resource ID of the user assigned identity." - }, - "clientId": { - "type": "string", - "description": "The client ID of the user assigned identity." + "type": "string" + } }, - "objectId": { - "type": "string", - "description": "The object ID of the user assigned identity." + "identity": { + "$ref": "#/definitions/ManagedClusterAddonProfileIdentity", + "description": "Information of user assigned identity used by this add-on.", + "readOnly": true } }, - "description": "Details about a user assigned identity." + "required": [ + "enabled" + ] }, - "ManagedClusterAccessProfile": { + "ManagedClusterAddonProfileIdentity": { "type": "object", + "description": "Information of user assigned identity used by this add-on.", "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" - } - ], - "properties": { - "properties": { - "description": "AccessProfile of a managed cluster.", - "$ref": "#/definitions/AccessProfile", - "x-ms-client-flatten": true + "$ref": "#/definitions/UserAssignedIdentity" } - }, - "description": "Managed cluster Access Profile.", - "x-ms-azure-resource": false + ] }, - "AccessProfile": { + "ManagedClusterAgentPoolProfile": { "type": "object", + "description": "Profile for the container service agent pool.", "properties": { - "kubeConfig": { + "name": { "type": "string", - "format": "byte", - "description": "Base64-encoded Kubernetes configuration file." + "description": "Unique name of the agent pool profile in the context of the subscription and resource group. Windows agent pool names must be 6 characters or less.", + "pattern": "^[a-z][a-z0-9]{0,11}$" } }, - "description": "Profile for enabling a user to access a managed cluster." + "required": [ + "name" + ], + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + } + ] }, - "ManagedClusterPoolUpgradeProfile": { + "ManagedClusterAgentPoolProfileProperties": { "type": "object", + "description": "Properties for the container service agent pool profile.", "properties": { - "kubernetesVersion": { + "eTag": { "type": "string", - "description": "The Kubernetes version (major.minor.patch)." + "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal eTag convention.", + "readOnly": true }, - "name": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { "type": "string", - "description": "The Agent Pool name." + "description": "The size of the agent pool VMs. VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" }, - "osType": { - "$ref": "#/definitions/OSType" + "osDiskSizeGB": { + "type": "integer", + "format": "int32", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.", + "minimum": 0, + "maximum": 2048 }, - "upgrades": { - "type": "array", - "items": { - "type": "object", - "properties": { - "kubernetesVersion": { - "type": "string", - "description": "The Kubernetes version (major.minor.patch)." - }, - "isPreview": { - "type": "boolean", - "description": "Whether the Kubernetes version is currently in preview." - } - } - }, - "x-ms-identifiers": [], - "description": "List of orchestrator types and versions available for upgrade." - } - }, - "required": [ - "kubernetesVersion", - "osType" - ], - "description": "The list of available upgrade versions." - }, - "ManagedClusterUpgradeProfileProperties": { - "type": "object", - "properties": { - "controlPlaneProfile": { - "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", - "description": "The list of available upgrade versions for the control plane." + "osDiskType": { + "$ref": "#/definitions/OSDiskType", + "description": "The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." }, - "agentPoolProfiles": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" - }, - "x-ms-identifiers": [], - "description": "The list of available upgrade versions for agent pools." - } - }, - "required": [ - "controlPlaneProfile", - "agentPoolProfiles" - ], - "description": "Control plane and agent pool upgrade profiles." - }, - "ManagedClusterAutoUpgradeProfile": { - "type": "object", - "properties": { - "upgradeChannel": { + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType", + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime", + "description": "Determines the type of workload a node can run." + }, + "messageOfTheDay": { "type": "string", - "enum": [ - "rapid", - "stable", - "patch", - "node-image", - "none" - ], - "x-ms-enum": { - "name": "upgradeChannel", - "modelAsString": true, - "values": [ - { - "value": "rapid", - "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." - }, - { - "value": "stable", - "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." - }, - { - "value": "patch", - "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." - }, + "description": "Message of the day for Linux nodes, base64-encoded. A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." + }, + "vnetSubnetID": { + "type": "string", + "format": "arm-id", + "description": "The ID of the subnet which agent pool nodes and optionally pods will join on startup. If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "node-image", - "description": "Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching" - }, + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + } + }, + "podSubnetID": { + "type": "string", + "format": "arm-id", + "description": "The ID of the subnet which pods will join when launched. If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "none", - "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + "type": "Microsoft.Network/virtualNetworks/subnets" } ] - }, - "description": "The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + } }, - "nodeOSUpgradeChannel": { + "podIPAllocationMode": { + "$ref": "#/definitions/PodIPAllocationMode", + "description": "Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'." + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { "type": "string", + "description": "The operating system type. The default is Linux.", + "default": "Linux", "enum": [ - "Unmanaged", - "None", - "NodeImage", - "SecurityPatch" + "Linux", + "Windows" ], "x-ms-enum": { - "name": "nodeOSUpgradeChannel", + "name": "OSType", "modelAsString": true, "values": [ { - "value": "None", - "description": "No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates" - }, - { - "value": "Unmanaged", - "description": "OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice" - }, - { - "value": "NodeImage", - "description": "AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images." + "name": "Linux", + "value": "Linux", + "description": "Use Linux." }, { - "value": "SecurityPatch", - "description": "AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption." + "name": "Windows", + "value": "Windows", + "description": "Use Windows." } ] - }, - "description": "Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage." - } - }, - "description": "Auto upgrade profile for a managed cluster." - }, - "UpgradeOverrideSettings": { - "type": "object", - "properties": { - "forceUpgrade": { - "type": "boolean", - "description": "Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution." + } }, - "until": { - "type": "string", - "format": "date-time", - "description": "Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect." - } - }, - "description": "Settings for overrides when upgrading a cluster." - }, - "ClusterUpgradeSettings": { - "type": "object", - "properties": { - "overrideSettings": { - "$ref": "#/definitions/UpgradeOverrideSettings", - "description": "Settings for overrides." - } - }, - "description": "Settings for upgrading a cluster." - }, - "ManagedClusterAADProfile": { - "type": "object", - "properties": { - "managed": { - "type": "boolean", - "description": "Whether to enable managed AAD." + "osSKU": { + "$ref": "#/definitions/OSSKU", + "description": "Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows." }, - "enableAzureRBAC": { + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { "type": "boolean", - "description": "Whether to enable Azure RBAC for Kubernetes authorization." + "description": "Whether to enable auto-scaler" }, - "adminGroupObjectIDs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of AAD group object IDs that will have admin role of the cluster." + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "description": "The scale down mode to use when scaling the Agent Pool. This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." }, - "clientAppID": { + "type": { + "$ref": "#/definitions/AgentPoolType", + "description": "The type of Agent Pool." + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode", + "description": "The mode of an agent pool. A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "orchestratorVersion": { "type": "string", - "description": "(DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy." + "description": "The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." }, - "serverAppID": { + "currentOrchestratorVersion": { "type": "string", - "description": "(DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy." + "description": "The version of Kubernetes the Agent Pool is running. If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used.", + "readOnly": true }, - "serverAppSecret": { + "nodeImageVersion": { "type": "string", - "description": "(DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy." + "description": "The version of node image", + "readOnly": true }, - "tenantID": { + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { "type": "string", - "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." - } - }, - "description": "AADProfile specifies attributes for Azure Active Directory integration. For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." - }, - "ManagedClusterAddonProfile": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether the add-on is enabled or not." + "description": "The current deployment or provisioning state.", + "readOnly": true }, - "config": { - "type": "object", - "additionalProperties": { + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "Whether the Agent Pool is running or stopped. When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded" + }, + "availabilityZones": { + "type": "array", + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'.", + "items": { "type": "string" - }, - "description": "Key-value pairs for configuring an add-on." + } }, - "identity": { - "readOnly": true, - "description": "Information of user assigned identity used by this add-on.", - "allOf": [ - { - "$ref": "#/definitions/UserAssignedIdentity" - } - ] - } - }, - "required": [ - "enabled" - ], - "description": "A Kubernetes add-on profile for a managed cluster." - }, - "ManagedClusterPodIdentity": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the pod identity." + "enableNodePublicIP": { + "type": "boolean", + "description": "Whether each node is allocated its own public IP. Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." }, - "namespace": { + "nodePublicIPPrefixID": { "type": "string", - "description": "The namespace of the pod identity." + "format": "arm-id", + "description": "The public IP prefix ID which VM nodes should use IPs from. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/publicIPPrefixes" + } + ] + } }, - "bindingSelector": { + "scaleSetPriority": { "type": "string", - "description": "The binding selector to use for the AzureIdentityBinding resource." - }, - "identity": { - "$ref": "#/definitions/UserAssignedIdentity", - "description": "The user assigned identity details." + "description": "The Virtual Machine Scale Set priority.", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "name": "Spot", + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "name": "Regular", + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + } }, - "provisioningState": { + "scaleSetEvictionPolicy": { "type": "string", - "readOnly": true, - "description": "The current provisioning state of the pod identity.", + "description": "The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)", + "default": "Delete", "enum": [ - "Assigned", - "Canceled", - "Deleting", - "Failed", - "Succeeded", - "Updating" + "Delete", + "Deallocate" ], "x-ms-enum": { - "name": "ManagedClusterPodIdentityProvisioningState", - "modelAsString": true + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "name": "Delete", + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "name": "Deallocate", + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] } }, - "provisioningInfo": { + "spotMaxPrice": { + "type": "number", + "format": "float", + "description": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)", + "default": -1 + }, + "tags": { "type": "object", - "readOnly": true, - "properties": { - "error": { - "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", - "description": "Pod identity assignment error (if any)." - } + "description": "The tags to be persisted on the agent pool virtual machine scale set.", + "additionalProperties": { + "type": "string" } - } - }, - "required": [ - "name", - "namespace", - "identity" - ], - "description": "Details about the pod identity assigned to the Managed Cluster." - }, - "ManagedClusterPodIdentityProvisioningError": { - "type": "object", - "properties": { - "error": { - "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", - "description": "Details about the error." - } - }, - "description": "An error response from the pod identity provisioning." - }, - "ManagedClusterPodIdentityProvisioningErrorBody": { - "type": "object", - "properties": { - "code": { - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - }, - "target": { - "type": "string", - "description": "The target of the particular error. For example, the name of the property in error." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody" - }, - "x-ms-identifiers": [], - "description": "A list of additional details about the error." - } - }, - "description": "An error response from the pod identity provisioning." - }, - "ManagedClusterPodIdentityException": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the pod identity exception." - }, - "namespace": { - "type": "string", - "description": "The namespace of the pod identity exception." }, - "podLabels": { + "nodeLabels": { "type": "object", - "description": "The pod labels to match.", + "description": "The node labels to be persisted across all nodes in agent pool.", "additionalProperties": { "type": "string" } - } - }, - "required": [ - "name", - "namespace", - "podLabels" - ], - "description": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." - }, - "ManagedClusterPodIdentityProfile": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether the pod identity addon is enabled." - }, - "allowNetworkPluginKubenet": { - "type": "boolean", - "description": "Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." }, - "userAssignedIdentities": { - "description": "The pod identities to use in the cluster.", + "nodeTaints": { "type": "array", + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.", "items": { - "$ref": "#/definitions/ManagedClusterPodIdentity" - }, - "x-ms-identifiers": [] + "type": "string" + } }, - "userAssignedIdentityExceptions": { - "description": "The pod identity exceptions to allow.", - "type": "array", - "items": { - "$ref": "#/definitions/ManagedClusterPodIdentityException" - }, - "x-ms-identifiers": [] - } - }, - "description": "The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." - }, - "ManagedClusterOIDCIssuerProfile": { - "type": "object", - "properties": { - "issuerURL": { - "readOnly": true, + "proximityPlacementGroupID": { "type": "string", - "description": "The OIDC issuer url of the Managed Cluster." + "format": "arm-id", + "description": "The ID for Proximity Placement Group.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/proximityPlacementGroups" + } + ] + } }, - "enabled": { + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { "type": "boolean", - "description": "Whether the OIDC issuer is enabled." - } - }, - "description": "The OIDC issuer profile of the Managed Cluster." - }, - "ManagedClusterUpgradeProfile": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the upgrade profile." + "description": "Whether to enable host based OS and data drive encryption. This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the upgrade profile." + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" }, - "type": { - "readOnly": true, - "type": "string", - "description": "The type of the upgrade profile." + "enableFIPS": { + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS. See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." }, - "properties": { - "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", - "description": "The properties of the upgrade profile.", - "x-ms-client-flatten": true - } - }, - "required": [ - "properties" - ], - "description": "The list of available upgrades for compute pools." - }, - "AgentPoolUpgradeProfile": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the agent pool upgrade profile." + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the agent pool upgrade profile." + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." }, - "type": { - "readOnly": true, + "capacityReservationGroupID": { "type": "string", - "description": "The type of the agent pool upgrade profile." + "format": "arm-id", + "description": "The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview)", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/CapacityReservationGroups" + } + ] + } }, - "properties": { - "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", - "description": "The properties of the agent pool upgrade profile.", - "x-ms-client-flatten": true - } - }, - "required": [ - "properties" - ], - "description": "The list of available upgrades for an agent pool." - }, - "AgentPoolUpgradeProfileProperties": { - "type": "object", - "properties": { - "kubernetesVersion": { + "hostGroupID": { "type": "string", - "description": "The Kubernetes version (major.minor.patch)." + "format": "arm-id", + "description": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts).", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/hostGroups" + } + ] + } }, - "osType": { - "$ref": "#/definitions/OSType" + "networkProfile": { + "$ref": "#/definitions/AgentPoolNetworkProfile", + "description": "Network-related settings of an agent pool." }, - "upgrades": { + "windowsProfile": { + "$ref": "#/definitions/AgentPoolWindowsProfile", + "description": "The Windows agent pool's specific profile." + }, + "securityProfile": { + "$ref": "#/definitions/AgentPoolSecurityProfile", + "description": "The security settings of an agent pool." + }, + "gpuProfile": { + "$ref": "#/definitions/GPUProfile", + "description": "GPU settings for the Agent Pool." + }, + "gatewayProfile": { + "$ref": "#/definitions/AgentPoolGatewayProfile", + "description": "Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway." + }, + "virtualMachinesProfile": { + "$ref": "#/definitions/VirtualMachinesProfile", + "description": "Specifications on VirtualMachines agent pool." + }, + "virtualMachineNodesStatus": { "type": "array", + "description": "The status of nodes in a VirtualMachines agent pool.", "items": { - "type": "object", - "properties": { - "kubernetesVersion": { - "type": "string", - "description": "The Kubernetes version (major.minor.patch)." - }, - "isPreview": { - "type": "boolean", - "description": "Whether the Kubernetes version is currently in preview." - } - } + "$ref": "#/definitions/VirtualMachineNodes" }, - "x-ms-identifiers": [], - "description": "List of orchestrator types and versions available for upgrade." + "x-ms-identifiers": [] }, - "latestNodeImageVersion": { - "type": "string", - "description": "The latest AKS supported node image version." + "status": { + "$ref": "#/definitions/AgentPoolStatus", + "description": "Contains read-only information about the Agent Pool." + }, + "localDNSProfile": { + "$ref": "#/definitions/LocalDNSProfile", + "description": "Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns." } - }, - "required": [ - "kubernetesVersion", - "osType" - ], - "description": "The list of available upgrade versions." + } }, - "AgentPoolAvailableVersions": { + "ManagedClusterAutoUpgradeProfile": { "type": "object", + "description": "Auto upgrade profile for a managed cluster.", "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the agent pool version list." + "upgradeChannel": { + "$ref": "#/definitions/UpgradeChannel", + "description": "The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." }, - "name": { - "readOnly": true, + "nodeOSUpgradeChannel": { + "$ref": "#/definitions/NodeOSUpgradeChannel", + "description": "Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage." + } + } + }, + "ManagedClusterAzureMonitorProfile": { + "type": "object", + "description": "Azure Monitor addon profiles for monitoring the managed cluster.", + "properties": { + "metrics": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileMetrics", + "description": "Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview." + } + } + }, + "ManagedClusterAzureMonitorProfileKubeStateMetrics": { + "type": "object", + "description": "Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.", + "properties": { + "metricLabelsAllowlist": { "type": "string", - "description": "The name of the agent pool version list." + "description": "Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels." }, - "type": { - "readOnly": true, + "metricAnnotationsAllowList": { "type": "string", - "description": "Type of the agent pool version list." + "description": "Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels." + } + } + }, + "ManagedClusterAzureMonitorProfileMetrics": { + "type": "object", + "description": "Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling." }, - "properties": { - "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", - "description": "Properties of agent pool available versions.", - "x-ms-client-flatten": true + "kubeStateMetrics": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileKubeStateMetrics", + "description": "Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details." } }, "required": [ - "properties" - ], - "description": "The list of available versions for an agent pool." + "enabled" + ] }, - "AgentPoolAvailableVersionsProperties": { + "ManagedClusterBootstrapProfile": { "type": "object", + "description": "The bootstrap profile.", "properties": { - "agentPoolVersions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "default": { - "type": "boolean", - "description": "Whether this version is the default agent pool version." - }, - "kubernetesVersion": { - "type": "string", - "description": "The Kubernetes version (major.minor.patch)." + "artifactSource": { + "type": "string", + "description": "The artifact source. The source where the artifacts are downloaded from.", + "default": "Direct", + "enum": [ + "Cache", + "Direct" + ], + "x-ms-enum": { + "name": "ArtifactSource", + "modelAsString": true, + "values": [ + { + "name": "Cache", + "value": "Cache", + "description": "pull images from Azure Container Registry with cache" }, - "isPreview": { - "type": "boolean", - "description": "Whether Kubernetes version is currently in preview." + { + "name": "Direct", + "value": "Direct", + "description": "pull images from Microsoft Artifact Registry" } - } - }, - "x-ms-identifiers": [], - "description": "List of versions available for agent pool." - } - }, - "description": "The list of available agent pool versions." - }, - "PodIPAllocationMode": { - "type": "string", - "enum": [ - "DynamicIndividual", - "StaticBlock" - ], - "x-ms-enum": { - "name": "PodIPAllocationMode", - "modelAsString": true, - "values": [ - { - "value": "DynamicIndividual", - "description": "Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode" - }, - { - "value": "StaticBlock", - "description": "Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger" - } - ] - }, - "description": "Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'." - }, - "OSType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ], - "x-ms-enum": { - "name": "OSType", - "modelAsString": true, - "values": [ - { - "value": "Linux", - "description": "Use Linux." - }, - { - "value": "Windows", - "description": "Use Windows." - } - ] - }, - "description": "The operating system type. The default is Linux." - }, - "OSSKU": { - "type": "string", - "enum": [ - "AzureLinux", - "AzureLinux3", - "CBLMariner", - "Ubuntu", - "Ubuntu2204", - "Ubuntu2404", - "Windows2019", - "Windows2022" - ], - "x-ms-enum": { - "name": "OSSKU", - "modelAsString": true, - "values": [ - { - "value": "Ubuntu", - "description": "Use Ubuntu as the OS for node images." - }, - { - "value": "AzureLinux", - "description": "Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information." - }, - { - "value": "AzureLinux3", - "description": "Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. For limitations, visit https://aka.ms/aks/node-images. For OS migration guidance, see https://aka.ms/aks/upgrade-os-version." - }, - { - "value": "CBLMariner", - "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." - }, - { - "value": "Windows2019", - "description": "Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa." - }, - { - "value": "Windows2022", - "description": "Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa." - }, - { - "value": "Ubuntu2204", - "description": "Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https://aka.ms/aks/supported-ubuntu-versions" - }, - { - "value": "Ubuntu2404", - "description": "Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https://aka.ms/aks/supported-ubuntu-versions" - } - ] - }, - "description": "Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows." - }, - "ScaleSetPriority": { - "type": "string", - "default": "Regular", - "enum": [ - "Spot", - "Regular" - ], - "x-ms-enum": { - "name": "ScaleSetPriority", - "modelAsString": true, - "values": [ - { - "value": "Spot", - "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." - }, - { - "value": "Regular", - "description": "Regular VMs will be used." - } - ] - }, - "description": "The Virtual Machine Scale Set priority." - }, - "ScaleSetEvictionPolicy": { - "type": "string", - "default": "Delete", - "enum": [ - "Delete", - "Deallocate" - ], - "x-ms-enum": { - "name": "ScaleSetEvictionPolicy", - "modelAsString": true, - "values": [ - { - "value": "Delete", - "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." - }, - { - "value": "Deallocate", - "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + ] } - ] - }, - "description": "The Virtual Machine Scale Set eviction policy. The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" - }, - "SpotMaxPrice": { - "type": "number", - "default": -1, - "description": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand. Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" - }, - "ScaleDownMode": { - "type": "string", - "enum": [ - "Delete", - "Deallocate" - ], - "x-ms-enum": { - "name": "ScaleDownMode", - "modelAsString": true, - "values": [ - { - "value": "Delete", - "description": "Create new instances during scale up and remove instances during scale down." - }, - { - "value": "Deallocate", - "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + }, + "containerRegistryId": { + "type": "string", + "format": "arm-id", + "description": "The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ContainerRegistry/registries" + } + ] } - ] - }, - "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + } + } }, - "ProximityPlacementGroupID": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Compute/proximityPlacementGroups" - } - ] - }, - "description": "The ID for Proximity Placement Group." + "ManagedClusterCostAnalysis": { + "type": "object", + "description": "The cost analysis configuration for the cluster", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis." + } + } }, - "CredentialResults": { + "ManagedClusterHTTPProxyConfig": { "type": "object", + "description": "Cluster HTTP proxy configuration.", "properties": { - "kubeconfigs": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { "type": "array", - "readOnly": true, + "description": "The endpoints that should not go through proxy.", "items": { - "$ref": "#/definitions/CredentialResult" - }, - "x-ms-identifiers": [], - "description": "Base64-encoded Kubernetes configuration file." + "type": "string" + } + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." } - }, - "description": "The list credential result response." + } }, - "CredentialResult": { + "ManagedClusterIdentity": { "type": "object", + "description": "Identity for the managed cluster.", "properties": { - "name": { + "principalId": { "type": "string", - "readOnly": true, - "description": "The name of the credential." + "description": "The principal id of the system assigned identity which is used by master components.", + "readOnly": true }, - "value": { + "tenantId": { "type": "string", - "format": "byte", - "readOnly": true, - "description": "Base64-encoded Kubernetes configuration file." + "description": "The tenant id of the system assigned identity which is used by master components.", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/ResourceIdentityType", + "description": "The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity)." + }, + "delegatedResources": { + "type": "object", + "description": "The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.", + "additionalProperties": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentitywithdelegation.json#/definitions/DelegatedResource" + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "additionalProperties": { + "$ref": "#/definitions/ManagedServiceIdentityUserAssignedIdentitiesValue" + } } - }, - "description": "The credential result response." + } }, - "ManagedClusterStatus": { + "ManagedClusterIngressProfile": { "type": "object", + "description": "Ingress profile for the container service cluster.", "properties": { - "provisioningError": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "readOnly": true, - "description": "The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted." + "webAppRouting": { + "$ref": "#/definitions/ManagedClusterIngressProfileWebAppRouting", + "description": "App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default." } - }, - "description": "Contains read-only information about the Managed Cluster." + } }, - "AgentPoolStatus": { + "ManagedClusterIngressProfileNginx": { "type": "object", "properties": { - "provisioningError": { - "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", - "readOnly": true, - "description": "The error detail information of the agent pool. Preserves the detailed info of failure. If there was no error, this field is omitted." + "defaultIngressControllerType": { + "$ref": "#/definitions/NginxIngressControllerType", + "description": "Ingress type for the default NginxIngressController custom resource" } - }, - "description": "Contains read-only information about the Agent Pool." + } }, - "LocalDNSProfile": { + "ManagedClusterIngressProfileWebAppRouting": { "type": "object", - "description": "Configures the per-node local DNS, with VnetDNS and KubeDNS overrides. LocalDNS helps improve performance and reliability of DNS resolution in an AKS cluster. For more details see aka.ms/aks/localdns.", + "description": "Application Routing add-on settings for the ingress profile.", "properties": { - "mode": { - "type": "string", - "enum": [ - "Preferred", - "Required", - "Disabled" - ], - "x-ms-enum": { - "name": "LocalDNSMode", - "modelAsString": true, - "values": [ - { - "value": "Preferred", - "description": "If the current orchestrator version supports this feature, prefer enabling localDNS." - }, - { - "value": "Required", - "description": "Enable localDNS." - }, - { - "value": "Disabled", - "description": "Disable localDNS." - } - ] - }, - "description": "Mode of enablement for localDNS.", - "default": "Preferred" + "enabled": { + "type": "boolean", + "description": "Whether to enable the Application Routing add-on." }, - "state": { - "readOnly": true, - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "LocalDNSState", - "modelAsString": true, - "values": [ - { - "value": "Enabled", - "description": "localDNS is enabled." - }, - { - "value": "Disabled", - "description": "localDNS is disabled." - } - ] - }, - "description": "System-generated state of localDNS." + "dnsZoneResourceIds": { + "type": "array", + "description": "Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group.", + "maxItems": 5, + "items": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/dnszones" + }, + { + "type": "Microsoft.Network/privateDnsZones" + } + ] + } + } }, - "vnetDNSOverrides": { - "type": "object", - "description": "VnetDNS overrides apply to DNS traffic from pods with dnsPolicy:default or kubelet (referred to as VnetDNS traffic).", - "$ref": "#/definitions/LocalDNSOverrides" + "nginx": { + "$ref": "#/definitions/ManagedClusterIngressProfileNginx", + "description": "Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller." }, - "kubeDNSOverrides": { - "type": "object", - "description": "KubeDNS overrides apply to DNS traffic from pods with dnsPolicy:ClusterFirst (referred to as KubeDNS traffic).", - "$ref": "#/definitions/LocalDNSOverrides" + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions.", + "readOnly": true } } }, - "LocalDNSOverrides": { + "ManagedClusterListResult": { "type": "object", - "additionalProperties": { - "$ref": "#/definitions/LocalDNSOverride" + "description": "The response of a ManagedCluster list operation.", + "properties": { + "value": { + "type": "array", + "description": "The ManagedCluster items on this page", + "items": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } }, - "description": "LocalDNSOverrides is a map of zone names for Vnet and Kube DNS overrides." + "required": [ + "value" + ] }, - "LocalDNSOverride": { + "ManagedClusterLoadBalancerProfile": { "type": "object", - "description": "Overrides for localDNS profile.", + "description": "Profile of the managed cluster load balancer.", "properties": { - "queryLogging": { - "type": "string", - "enum": [ - "Error", - "Log" - ], - "x-ms-enum": { - "name": "LocalDNSQueryLogging", - "modelAsString": true, - "values": [ - { - "value": "Error", - "description": "Enables error logging in localDNS. See [errors plugin](https://coredns.io/plugins/errors) for more information." - }, - { - "value": "Log", - "description": "Enables query logging in localDNS. See [log plugin](https://coredns.io/plugins/log) for more information." - } - ] - }, - "description": "Log level for DNS queries in localDNS.", - "default": "Error" + "managedOutboundIPs": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfileManagedOutboundIPs", + "description": "Desired managed outbound IPs for the cluster load balancer." }, - "protocol": { - "type": "string", - "enum": [ - "PreferUDP", - "ForceTCP" - ], - "x-ms-enum": { - "name": "LocalDNSProtocol", - "modelAsString": true, - "values": [ - { - "value": "PreferUDP", - "description": "Prefer UDP protocol for connections from localDNS to upstream DNS server." - }, - { - "value": "ForceTCP", - "description": "Enforce TCP protocol for connections from localDNS to upstream DNS server." - } - ] - }, - "description": "Enforce TCP or prefer UDP protocol for connections from localDNS to upstream DNS server.", - "default": "PreferUDP" + "outboundIPPrefixes": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfileOutboundIPPrefixes", + "description": "Desired outbound IP Prefix resources for the cluster load balancer." }, - "forwardDestination": { - "type": "string", - "enum": [ - "ClusterCoreDNS", - "VnetDNS" - ], - "x-ms-enum": { - "name": "LocalDNSForwardDestination", - "modelAsString": true, - "values": [ - { - "value": "ClusterCoreDNS", - "description": "Forward DNS queries from localDNS to cluster CoreDNS." - }, - { - "value": "VnetDNS", - "description": "Forward DNS queries from localDNS to DNS server configured in the VNET. A VNET can have multiple DNS servers configured." - } - ] + "outboundIPs": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfileOutboundIPs", + "description": "Desired outbound IP resources for the cluster load balancer." + }, + "effectiveOutboundIPs": { + "type": "array", + "description": "The effective outbound IP resources of the cluster load balancer.", + "items": { + "$ref": "#/definitions/ResourceReference" }, - "description": "Destination server for DNS queries to be forwarded from localDNS.", - "default": "ClusterCoreDNS" + "readOnly": true }, - "forwardPolicy": { + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0, + "minimum": 0, + "maximum": 64000 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30, + "minimum": 4, + "maximum": 120 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + }, + "backendPoolType": { "type": "string", + "description": "The type of the managed inbound Load Balancer BackendPool.", + "default": "NodeIPConfiguration", "enum": [ - "Sequential", - "RoundRobin", - "Random" + "NodeIPConfiguration", + "NodeIP" ], "x-ms-enum": { - "name": "LocalDNSForwardPolicy", + "name": "BackendPoolType", "modelAsString": true, "values": [ { - "value": "Sequential", - "description": "Implements sequential upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." - }, - { - "value": "RoundRobin", - "description": "Implements round robin upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." + "name": "NodeIPConfiguration", + "value": "NodeIPConfiguration", + "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." }, { - "value": "Random", - "description": "Implements random upstream DNS server selection. See [forward plugin](https://coredns.io/plugins/forward) for more information." + "name": "NodeIP", + "value": "NodeIP", + "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." } ] - }, - "description": "Forward policy for selecting upstream DNS server. See [forward plugin](https://coredns.io/plugins/forward) for more information.", - "default": "Sequential" + } + } + } + }, + "ManagedClusterLoadBalancerProfileManagedOutboundIPs": { + "type": "object", + "description": "Desired managed outbound IPs for the cluster load balancer.", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1.", + "default": 1, + "minimum": 1, + "maximum": 100 }, - "maxConcurrent": { + "countIPv6": { + "type": "integer", + "format": "int32", + "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.", + "default": 0, + "minimum": 0, + "maximum": 100 + } + } + }, + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes": { + "type": "object", + "description": "Desired outbound IP Prefix resources for the cluster load balancer.", + "properties": { + "publicIPPrefixes": { + "type": "array", + "description": "A list of public IP prefix resources.", + "items": { + "$ref": "#/definitions/ResourceReference" + } + } + } + }, + "ManagedClusterLoadBalancerProfileOutboundIPs": { + "type": "object", + "description": "Desired outbound IP resources for the cluster load balancer.", + "properties": { + "publicIPs": { + "type": "array", + "description": "A list of public IP resources.", + "items": { + "$ref": "#/definitions/ResourceReference" + } + } + } + }, + "ManagedClusterManagedOutboundIPProfile": { + "type": "object", + "description": "Profile of the managed outbound IP resources of the managed cluster.", + "properties": { + "count": { "type": "integer", "format": "int32", - "description": "Maximum number of concurrent queries. See [forward plugin](https://coredns.io/plugins/forward) for more information.", - "default": 1000 + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1.", + "default": 1, + "minimum": 1, + "maximum": 16 + } + } + }, + "ManagedClusterMetricsProfile": { + "type": "object", + "description": "The metrics profile for the ManagedCluster.", + "properties": { + "costAnalysis": { + "$ref": "#/definitions/ManagedClusterCostAnalysis", + "description": "The configuration for detailed per-Kubernetes resource cost analysis." + } + } + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "description": "Profile of the managed cluster NAT gateway.", + "properties": { + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." }, - "cacheDurationInSeconds": { - "type": "integer", - "format": "int32", - "description": "Cache max TTL in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information.", - "default": 3600 + "effectiveOutboundIPs": { + "type": "array", + "description": "The effective outbound IP resources of the cluster NAT gateway.", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "readOnly": true }, - "serveStaleDurationInSeconds": { + "idleTimeoutInMinutes": { "type": "integer", "format": "int32", - "description": "Serve stale duration in seconds. See [cache plugin](https://coredns.io/plugins/cache) for more information.", - "default": 3600 - }, - "serveStale": { - "type": "string", - "enum": [ - "Verify", - "Immediate", - "Disable" - ], - "x-ms-enum": { - "name": "LocalDNSServeStale", - "modelAsString": true, - "values": [ - { - "value": "Verify", - "description": "Serve stale data with verification. First verify that an entry is still unavailable from the source before sending the expired entry to the client. See [cache plugin](https://coredns.io/plugins/cache) for more information." - }, - { - "value": "Immediate", - "description": "Serve stale data immediately. Send the expired entry to the client before checking to see if the entry is available from the source. See [cache plugin](https://coredns.io/plugins/cache) for more information." - }, - { - "value": "Disable", - "description": "Disable serving stale data." - } - ] - }, - "description": "Policy for serving stale data. See [cache plugin](https://coredns.io/plugins/cache) for more information.", - "default": "Immediate" + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4, + "minimum": 4, + "maximum": 120 } } }, - "ManagedClusterSKU": { + "ManagedClusterNodeProvisioningProfile": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of a managed cluster SKU.", - "enum": [ - "Base", - "Automatic" - ], - "x-ms-enum": { - "name": "ManagedClusterSKUName", - "modelAsString": true, - "values": [ - { - "value": "Base", - "description": "Base option for the AKS control plane." - }, - { - "value": "Automatic", - "description": "Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic." - } - ] - } + "mode": { + "$ref": "#/definitions/NodeProvisioningMode", + "description": "The node provisioning mode. If not specified, the default is Manual." }, - "tier": { + "defaultNodePools": { "type": "string", - "description": "The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details.", + "description": "The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.", + "default": "Auto", "enum": [ - "Standard", - "Free", - "Premium" + "None", + "Auto" ], "x-ms-enum": { - "name": "ManagedClusterSKUTier", + "name": "NodeProvisioningDefaultNodePools", "modelAsString": true, "values": [ { - "value": "Premium", - "description": "Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions." - }, - { - "value": "Standard", - "description": "Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + "name": "None", + "value": "None", + "description": "No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances." }, { - "value": "Free", - "description": "The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases." + "name": "Auto", + "value": "Auto", + "description": "A standard set of Karpenter NodePools are provisioned" } ] } } - }, - "description": "The SKU of a Managed Cluster." + } }, - "PrivateEndpointConnectionListResult": { + "ManagedClusterNodeResourceGroupProfile": { "type": "object", - "description": "A list of private endpoint connections", + "description": "Node resource group lockdown profile for a managed cluster.", "properties": { - "value": { - "description": "The collection value.", - "type": "array", - "items": { - "$ref": "#/definitions/PrivateEndpointConnection" - } + "restrictionLevel": { + "$ref": "#/definitions/RestrictionLevel", + "description": "The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'" } } }, - "PrivateEndpointConnection": { - "description": "A private endpoint connection", + "ManagedClusterOIDCIssuerProfile": { "type": "object", + "description": "The OIDC issuer profile of the Managed Cluster.", "properties": { - "id": { - "readOnly": true, + "issuerURL": { "type": "string", - "description": "The ID of the private endpoint connection." + "description": "The OIDC issuer url of the Managed Cluster.", + "readOnly": true }, + "enabled": { + "type": "boolean", + "description": "Whether the OIDC issuer is enabled." + } + } + }, + "ManagedClusterPodIdentity": { + "type": "object", + "description": "Details about the pod identity assigned to the Managed Cluster.", + "properties": { "name": { - "readOnly": true, "type": "string", - "description": "The name of the private endpoint connection.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" - } + "description": "The name of the pod identity." }, - "type": { - "readOnly": true, + "namespace": { "type": "string", - "description": "The resource type." + "description": "The namespace of the pod identity." }, - "properties": { - "$ref": "#/definitions/PrivateEndpointConnectionProperties", - "description": "The properties of a private endpoint connection.", - "x-ms-client-flatten": true + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningState", + "description": "The current provisioning state of the pod identity.", + "readOnly": true + }, + "provisioningInfo": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningInfo", + "readOnly": true } }, - "x-ms-azure-resource": true + "required": [ + "name", + "namespace", + "identity" + ] }, - "PrivateEndpointConnectionProperties": { + "ManagedClusterPodIdentityException": { "type": "object", - "description": "Properties of a private endpoint connection.", + "description": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server. See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details.", "properties": { - "provisioningState": { + "name": { "type": "string", - "readOnly": true, - "description": "The current provisioning state.", - "enum": [ - "Canceled", - "Creating", - "Deleting", - "Failed", - "Succeeded" - ], - "x-ms-enum": { - "name": "PrivateEndpointConnectionProvisioningState", - "modelAsString": true - } + "description": "The name of the pod identity exception." }, - "privateEndpoint": { - "$ref": "#/definitions/PrivateEndpoint", - "description": "The resource of private endpoint." + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." }, - "privateLinkServiceConnectionState": { - "$ref": "#/definitions/PrivateLinkServiceConnectionState", - "description": "A collection of information about the state of the connection between service consumer and provider." + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } } }, "required": [ - "privateLinkServiceConnectionState" + "name", + "namespace", + "podLabels" ] }, - "PrivateEndpoint": { - "type": "object", - "description": "Private endpoint which a connection belongs to.", - "properties": { - "id": { - "description": "The resource ID of the private endpoint", - "type": "string" - } - } - }, - "PrivateLinkServiceConnectionState": { - "description": "The state of a private link service connection.", + "ManagedClusterPodIdentityProfile": { "type": "object", + "description": "The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration.", "properties": { - "status": { - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ], - "type": "string", - "description": "The private link service connection status.", - "x-ms-enum": { - "name": "ConnectionStatus", - "modelAsString": true - } + "enabled": { + "type": "boolean", + "description": "Whether the pod identity addon is enabled." }, - "description": { - "type": "string", - "description": "The private link service connection description." + "allowNetworkPluginKubenet": { + "type": "boolean", + "description": "Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "type": "array", + "description": "The pod identities to use in the cluster.", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentity" + }, + "x-ms-identifiers": [] + }, + "userAssignedIdentityExceptions": { + "type": "array", + "description": "The pod identity exceptions to allow.", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + }, + "x-ms-identifiers": [] } } }, - "PrivateLinkResourcesListResult": { + "ManagedClusterPodIdentityProvisioningError": { "type": "object", - "description": "A list of private link resources", + "description": "An error response from the pod identity provisioning.", "properties": { - "value": { - "description": "The collection value.", - "type": "array", - "items": { - "$ref": "#/definitions/PrivateLinkResource" - } + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." } } }, - "PrivateLinkResource": { - "description": "A private link resource", + "ManagedClusterPodIdentityProvisioningErrorBody": { "type": "object", + "description": "An error response from the pod identity provisioning.", "properties": { - "id": { - "type": "string", - "description": "The ID of the private link resource." - }, - "name": { - "type": "string", - "description": "The name of the private link resource.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" - } + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." }, - "type": { + "message": { "type": "string", - "description": "The resource type." + "description": "A message describing the error, intended to be suitable for display in a user interface." }, - "groupId": { + "target": { "type": "string", - "description": "The group ID of the resource." + "description": "The target of the particular error. For example, the name of the property in error." }, - "requiredMembers": { + "details": { "type": "array", + "description": "A list of additional details about the error.", "items": { - "type": "string" + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody" }, - "description": "The RequiredMembers of the resource" - }, - "privateLinkServiceID": { - "readOnly": true, - "type": "string", - "format": "arm-id", - "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + "x-ms-identifiers": [] } } }, - "OSDiskType": { + "ManagedClusterPodIdentityProvisioningInfo": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + }, + "ManagedClusterPodIdentityProvisioningState": { "type": "string", + "description": "The current provisioning state of the pod identity.", "enum": [ - "Managed", - "Ephemeral" + "Assigned", + "Canceled", + "Deleting", + "Failed", + "Succeeded", + "Updating" ], "x-ms-enum": { - "name": "OSDiskType", + "name": "ManagedClusterPodIdentityProvisioningState", "modelAsString": true, "values": [ { - "value": "Managed", - "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + "name": "Assigned", + "value": "Assigned" }, { - "value": "Ephemeral", - "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." - } - ] - }, - "description": "The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." - }, - "KubeletDiskType": { - "type": "string", - "enum": [ - "OS", - "Temporary" - ], - "x-ms-enum": { - "name": "KubeletDiskType", - "modelAsString": true, - "values": [ - { - "value": "OS", - "description": "Kubelet will use the OS disk for its data." + "name": "Canceled", + "value": "Canceled" }, { - "value": "Temporary", - "description": "Kubelet will use the temporary disk for its data." - } - ] - }, - "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." - }, - "WorkloadRuntime": { - "type": "string", - "enum": [ - "OCIContainer", - "WasmWasi", - "KataVmIsolation" - ], - "x-ms-enum": { - "name": "WorkloadRuntime", - "modelAsString": true, - "values": [ + "name": "Deleting", + "value": "Deleting" + }, { - "value": "OCIContainer", - "description": "Nodes will use Kubelet to run standard OCI container workloads." + "name": "Failed", + "value": "Failed" }, { - "value": "WasmWasi", - "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + "name": "Succeeded", + "value": "Succeeded" }, { - "value": "KataVmIsolation", - "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series." + "name": "Updating", + "value": "Updating" } ] + } + }, + "ManagedClusterPoolUpgradeProfile": { + "type": "object", + "description": "The list of available upgrade versions.", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "description": "The Agent Pool name." + }, + "osType": { + "type": "string", + "description": "The operating system type. The default is Linux.", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true, + "values": [ + { + "name": "Linux", + "value": "Linux", + "description": "Use Linux." + }, + { + "name": "Windows", + "value": "Windows", + "description": "Use Windows." + } + ] + } + }, + "upgrades": { + "type": "array", + "description": "List of orchestrator types and versions available for upgrade.", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfileUpgradesItem" + }, + "x-ms-identifiers": [] + } }, - "description": "Determines the type of workload a node can run." + "required": [ + "kubernetesVersion", + "osType" + ] }, - "KubeletConfig": { - "description": "Kubelet configurations of agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "ManagedClusterPoolUpgradeProfileUpgradesItem": { "type": "object", "properties": { - "cpuManagerPolicy": { + "kubernetesVersion": { "type": "string", - "description": "The CPU Manager policy to use. The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." + "description": "The Kubernetes version (major.minor.patch)." }, - "cpuCfsQuota": { + "isPreview": { "type": "boolean", - "description": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits. The default is true." - }, - "cpuCfsQuotaPeriod": { + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "ManagedClusterProperties": { + "type": "object", + "description": "Properties of the managed cluster.", + "properties": { + "provisioningState": { "type": "string", - "description": "The CPU CFS quota period value. The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." + "description": "The current provisioning state.", + "readOnly": true }, - "imageGcHighThreshold": { - "type": "integer", - "format": "int32", - "description": "The percent of disk usage after which image garbage collection is always run. To disable image garbage collection, set to 100. The default is 85%" + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true }, - "imageGcLowThreshold": { + "maxAgentPools": { "type": "integer", "format": "int32", - "description": "The percent of disk usage before which image garbage collection is never run. This cannot be set higher than imageGcHighThreshold. The default is 80%" + "description": "The max number of agent pools for the managed cluster.", + "readOnly": true }, - "topologyManagerPolicy": { + "kubernetesVersion": { "type": "string", - "description": "The Topology Manager policy to use. For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + "description": "The version of Kubernetes specified by the user. Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." + }, + "currentKubernetesVersion": { + "type": "string", + "description": "The version of Kubernetes the Managed Cluster is running. If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used.", + "readOnly": true + }, + "dnsPrefix": { + "type": "string", + "description": "The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created." + }, + "fqdnSubdomain": { + "type": "string", + "description": "The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created." + }, + "fqdn": { + "type": "string", + "description": "The FQDN of the master pool.", + "readOnly": true + }, + "privateFQDN": { + "type": "string", + "description": "The FQDN of private cluster.", + "readOnly": true + }, + "azurePortalFQDN": { + "type": "string", + "description": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.", + "readOnly": true + }, + "agentPoolProfiles": { + "type": "array", + "description": "The agent pool properties.", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "x-ms-identifiers": [] + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed Cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "type": "object", + "description": "The profile of managed cluster add-on.", + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + } + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "description": "The pod identity profile of the Managed Cluster. See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "oidcIssuerProfile": { + "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile", + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The name of the resource group containing agent pool nodes." + }, + "nodeResourceGroupProfile": { + "$ref": "#/definitions/ManagedClusterNodeResourceGroupProfile", + "description": "Profile of the node resource group configuration." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, + "supportPlan": { + "$ref": "#/definitions/KubernetesSupportPlan", + "description": "The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "upgradeSettings": { + "$ref": "#/definitions/ClusterUpgradeSettings", + "description": "Settings for upgrading a cluster." + }, + "autoScalerProfile": { + "$ref": "#/definitions/ManagedClusterPropertiesAutoScalerProfile", + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "format": "arm-id", + "description": "The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/diskEncryptionSets" + } + ] + } }, - "allowedUnsafeSysctls": { + "identityProfile": { + "type": "object", + "description": "The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is \"kubeletidentity\", with value of \"resourceId\": \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}\".", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "privateLinkResources": { "type": "array", + "description": "Private link resources associated with the cluster.", "items": { - "type": "string" - }, - "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + "$ref": "#/definitions/PrivateLinkResource" + } }, - "failSwapOn": { + "disableLocalAccounts": { "type": "boolean", - "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." - }, - "containerLogMaxSizeMB": { - "type": "integer", - "format": "int32", - "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." - }, - "containerLogMaxFiles": { - "type": "integer", - "format": "int32", - "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", - "minimum": 2 + "description": "If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." }, - "podMaxPids": { - "type": "integer", - "format": "int32", - "description": "The maximum number of processes per pod." - } - } - }, - "LinuxOSConfig": { - "description": "OS configurations of Linux agent nodes. See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", - "type": "object", - "properties": { - "sysctls": { - "$ref": "#/definitions/SysctlConfig", - "description": "Sysctl settings for Linux agent nodes." + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." }, - "transparentHugePageEnabled": { - "type": "string", - "description": "Whether transparent hugepages are enabled. Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." }, - "transparentHugePageDefrag": { - "type": "string", - "description": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available. Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + "storageProfile": { + "$ref": "#/definitions/ManagedClusterStorageProfile", + "description": "Storage profile for the managed cluster." }, - "swapFileSizeMB": { - "type": "integer", - "format": "int32", - "description": "The size in MB of a swap file that will be created on each node." - } - } - }, - "AgentPoolWindowsProfile": { - "type": "object", - "description": "The Windows agent pool's specific profile.", - "properties": { - "disableOutboundNat": { - "type": "boolean", - "description": "Whether to disable OutboundNAT in windows nodes. The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled." - } - } - }, - "AgentPoolSecurityProfile": { - "type": "object", - "properties": { - "enableVTPM": { - "type": "boolean", - "description": "vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." + "ingressProfile": { + "$ref": "#/definitions/ManagedClusterIngressProfile", + "description": "Ingress profile for the managed cluster." }, - "enableSecureBoot": { - "type": "boolean", - "description": "Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false." + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess", + "description": "PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS" }, - "sshAccess": { - "$ref": "#/definitions/AgentPoolSSHAccess", - "description": "SSH access method of an agent pool." - } - }, - "description": "The security settings of an agent pool." - }, - "AgentPoolSSHAccess": { - "type": "string", - "enum": [ - "LocalUser", - "Disabled" - ], - "x-ms-enum": { - "name": "AgentPoolSSHAccess", - "modelAsString": true, - "values": [ - { - "value": "LocalUser", - "description": "Can SSH onto the node as a local user using private key." - }, - { - "value": "Disabled", - "description": "SSH service will be turned off on the node." - } - ] - }, - "description": "SSH access method of an agent pool." - }, - "SysctlConfig": { - "description": "Sysctl settings for Linux agent nodes.", - "type": "object", - "properties": { - "netCoreSomaxconn": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.somaxconn." + "workloadAutoScalerProfile": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfile", + "description": "Workload Auto-scaler profile for the managed cluster." }, - "netCoreNetdevMaxBacklog": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.netdev_max_backlog." + "azureMonitorProfile": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfile", + "description": "Azure Monitor addon profiles for monitoring the managed cluster." }, - "netCoreRmemDefault": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.rmem_default." + "serviceMeshProfile": { + "$ref": "#/definitions/ServiceMeshProfile", + "description": "Service mesh profile for a managed cluster." }, - "netCoreRmemMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.rmem_max." + "resourceUID": { + "type": "string", + "description": "The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)", + "readOnly": true }, - "netCoreWmemDefault": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.wmem_default." + "metricsProfile": { + "$ref": "#/definitions/ManagedClusterMetricsProfile", + "description": "Optional cluster metrics configuration." }, - "netCoreWmemMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.wmem_max." + "nodeProvisioningProfile": { + "$ref": "#/definitions/ManagedClusterNodeProvisioningProfile", + "description": "Node provisioning settings that apply to the whole cluster." }, - "netCoreOptmemMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.core.optmem_max." + "bootstrapProfile": { + "$ref": "#/definitions/ManagedClusterBootstrapProfile", + "description": "Profile of the cluster bootstrap configuration." }, - "netIpv4TcpMaxSynBacklog": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + "aiToolchainOperatorProfile": { + "$ref": "#/definitions/ManagedClusterAIToolchainOperatorProfile", + "description": "AI toolchain operator settings that apply to the whole cluster." }, - "netIpv4TcpMaxTwBuckets": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + "status": { + "$ref": "#/definitions/ManagedClusterStatus", + "description": "Contains read-only information about the Managed Cluster." + } + } + }, + "ManagedClusterPropertiesAutoScalerProfile": { + "type": "object", + "description": "Parameters to be applied to the cluster-autoscaler when enabled", + "properties": { + "balance-similar-node-groups": { + "type": "string", + "description": "Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false'", + "x-ms-client-name": "balanceSimilarNodeGroups" }, - "netIpv4TcpFinTimeout": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + "daemonset-eviction-for-empty-nodes": { + "type": "boolean", + "description": "DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.", + "x-ms-client-name": "daemonsetEvictionForEmptyNodes" }, - "netIpv4TcpKeepaliveTime": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + "daemonset-eviction-for-occupied-nodes": { + "type": "boolean", + "description": "DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted.", + "x-ms-client-name": "daemonsetEvictionForOccupiedNodes" }, - "netIpv4TcpKeepaliveProbes": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + "ignore-daemonsets-utilization": { + "type": "boolean", + "description": "Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions.", + "x-ms-client-name": "ignoreDaemonsetsUtilization" }, - "netIpv4TcpkeepaliveIntvl": { - "type": "integer", - "format": "int32", - "minimum": 10, - "maximum": 90, - "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + "expander": { + "$ref": "#/definitions/Expander", + "description": "The expander to use when scaling up. If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." }, - "netIpv4TcpTwReuse": { - "type": "boolean", - "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + "max-empty-bulk-delete": { + "type": "string", + "description": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10.", + "x-ms-client-name": "maxEmptyBulkDelete" }, - "netIpv4IpLocalPortRange": { + "max-graceful-termination-sec": { "type": "string", - "description": "Sysctl setting net.ipv4.ip_local_port_range." + "description": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600.", + "x-ms-client-name": "maxGracefulTerminationSec" }, - "netIpv4NeighDefaultGcThresh1": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + "max-node-provision-time": { + "type": "string", + "description": "The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "maxNodeProvisionTime" }, - "netIpv4NeighDefaultGcThresh2": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + "max-total-unready-percentage": { + "type": "string", + "description": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0.", + "x-ms-client-name": "maxTotalUnreadyPercentage" }, - "netIpv4NeighDefaultGcThresh3": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + "new-pod-scale-up-delay": { + "type": "string", + "description": "Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc).", + "x-ms-client-name": "newPodScaleUpDelay" }, - "netNetfilterNfConntrackMax": { - "type": "integer", - "format": "int32", - "minimum": 131072, - "maximum": 2097152, - "description": "Sysctl setting net.netfilter.nf_conntrack_max." + "ok-total-unready-count": { + "type": "string", + "description": "The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3.", + "x-ms-client-name": "okTotalUnreadyCount" }, - "netNetfilterNfConntrackBuckets": { - "type": "integer", - "format": "int32", - "minimum": 65536, - "maximum": 524288, - "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + "scan-interval": { + "type": "string", + "description": "How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds.", + "x-ms-client-name": "scanInterval" }, - "fsInotifyMaxUserWatches": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting fs.inotify.max_user_watches." + "scale-down-delay-after-add": { + "type": "string", + "description": "How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownDelayAfterAdd" }, - "fsFileMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting fs.file-max." + "scale-down-delay-after-delete": { + "type": "string", + "description": "How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownDelayAfterDelete" }, - "fsAioMaxNr": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting fs.aio-max-nr." + "scale-down-delay-after-failure": { + "type": "string", + "description": "How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownDelayAfterFailure" }, - "fsNrOpen": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting fs.nr_open." + "scale-down-unneeded-time": { + "type": "string", + "description": "How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownUnneededTime" }, - "kernelThreadsMax": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting kernel.threads-max." + "scale-down-unready-time": { + "type": "string", + "description": "How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported.", + "x-ms-client-name": "scaleDownUnreadyTime" }, - "vmMaxMapCount": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting vm.max_map_count." + "scale-down-utilization-threshold": { + "type": "string", + "description": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'.", + "x-ms-client-name": "scaleDownUtilizationThreshold" }, - "vmSwappiness": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting vm.swappiness." + "skip-nodes-with-local-storage": { + "type": "string", + "description": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true.", + "x-ms-client-name": "skipNodesWithLocalStorage" }, - "vmVfsCachePressure": { - "type": "integer", - "format": "int32", - "description": "Sysctl setting vm.vfs_cache_pressure." + "skip-nodes-with-system-pods": { + "type": "string", + "description": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true.", + "x-ms-client-name": "skipNodesWithSystemPods" } } }, - "ManagedClusterHTTPProxyConfig": { - "description": "Cluster HTTP proxy configuration.", + "ManagedClusterSKU": { "type": "object", + "description": "The SKU of a Managed Cluster.", "properties": { - "httpProxy": { - "type": "string", - "description": "The HTTP proxy server endpoint to use." - }, - "httpsProxy": { - "type": "string", - "description": "The HTTPS proxy server endpoint to use." - }, - "noProxy": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The endpoints that should not go through proxy." + "name": { + "$ref": "#/definitions/ManagedClusterSKUName", + "description": "The name of a managed cluster SKU." }, - "trustedCa": { - "type": "string", - "description": "Alternative CA cert to use for connecting to proxy servers." + "tier": { + "$ref": "#/definitions/ManagedClusterSKUTier", + "description": "The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details." } } }, - "GPUInstanceProfile": { + "ManagedClusterSKUName": { "type": "string", + "description": "The name of a managed cluster SKU.", "enum": [ - "MIG1g", - "MIG2g", - "MIG3g", - "MIG4g", - "MIG7g" + "Base", + "Automatic" ], "x-ms-enum": { - "name": "GPUInstanceProfile ", - "modelAsString": true - }, - "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + "name": "ManagedClusterSKUName", + "modelAsString": true, + "values": [ + { + "name": "Base", + "value": "Base", + "description": "Base option for the AKS control plane." + }, + { + "name": "Automatic", + "value": "Automatic", + "description": "Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic." + } + ] + } }, - "GPUProfile": { + "ManagedClusterSKUTier": { + "type": "string", + "description": "The tier of a managed cluster SKU. If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details.", + "enum": [ + "Premium", + "Standard", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "name": "Premium", + "value": "Premium", + "description": "Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions." + }, + { + "name": "Standard", + "value": "Standard", + "description": "Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, + { + "name": "Free", + "value": "Free", + "description": "The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases." + } + ] + } + }, + "ManagedClusterSecurityProfile": { "type": "object", - "description": "GPU settings for the Agent Pool.", + "description": "Security profile for the container service cluster.", "properties": { - "driver": { + "defender": { + "$ref": "#/definitions/ManagedClusterSecurityProfileDefender", + "description": "Microsoft Defender settings for the security profile." + }, + "azureKeyVaultKms": { + "$ref": "#/definitions/AzureKeyVaultKms", + "description": "Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile." + }, + "workloadIdentity": { + "$ref": "#/definitions/ManagedClusterSecurityProfileWorkloadIdentity", + "description": "Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details." + }, + "imageCleaner": { + "$ref": "#/definitions/ManagedClusterSecurityProfileImageCleaner", + "description": "Image Cleaner settings for the security profile." + }, + "customCATrustCertificates": { + "type": "array", + "description": "A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority).", + "minItems": 0, + "maxItems": 10, + "items": { + "type": "string", + "format": "byte" + } + } + } + }, + "ManagedClusterSecurityProfileDefender": { + "type": "object", + "description": "Microsoft Defender settings for the security profile.", + "properties": { + "logAnalyticsWorkspaceResourceId": { "type": "string", - "description": "Whether to install GPU drivers. When it's not specified, default is Install.", - "enum": [ - "Install", - "None" - ], - "x-ms-enum": { - "name": "GPUDriver", - "modelAsString": true, - "values": [ - { - "value": "Install", - "description": "Install driver." - }, + "format": "arm-id", + "description": "Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "value": "None", - "description": "Skip driver install." + "type": "Microsoft.OperationalInsights/workspaces" } ] } + }, + "securityMonitoring": { + "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityMonitoring", + "description": "Microsoft Defender threat detection for Cloud settings for the security profile." } } }, - "ManagedClusterStaticEgressGatewayProfile": { + "ManagedClusterSecurityProfileDefenderSecurityMonitoring": { "type": "object", + "description": "Microsoft Defender settings for the security profile threat detection.", "properties": { "enabled": { "type": "boolean", - "description": "Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not." + "description": "Whether to enable Defender threat detection" } - }, - "description": "The Static Egress Gateway addon configuration for the cluster." + } }, - "AgentPoolGatewayProfile": { - "description": "Profile of the managed cluster gateway agent pool.", + "ManagedClusterSecurityProfileImageCleaner": { "type": "object", + "description": "Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile.", "properties": { - "publicIPPrefixSize": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Image Cleaner on AKS cluster." + }, + "intervalHours": { "type": "integer", "format": "int32", - "maximum": 31, - "minimum": 28, - "description": "The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.", - "default": 31 + "description": "Image Cleaner scanning interval in hours." } } }, - "ExtendedLocationType": { - "type": "string", - "description": "The type of extendedLocation.", - "enum": [ - "EdgeZone" - ], - "x-ms-enum": { - "name": "ExtendedLocationTypes", - "modelAsString": true + "ManagedClusterSecurityProfileWorkloadIdentity": { + "type": "object", + "description": "Workload identity settings for the security profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable workload identity." + } } }, - "ExtendedLocation": { + "ManagedClusterServicePrincipalProfile": { "type": "object", - "description": "The complex type of the extended location.", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", "properties": { - "name": { + "clientId": { "type": "string", - "description": "The name of the extended location." + "description": "The ID for the service principal." }, - "type": { - "$ref": "#/definitions/ExtendedLocationType", - "description": "The type of the extended location." + "secret": { + "type": "string", + "description": "The secret password associated with the service principal in plain text." + } + }, + "required": [ + "clientId" + ] + }, + "ManagedClusterStaticEgressGatewayProfile": { + "type": "object", + "description": "The Static Egress Gateway addon configuration for the cluster.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable Static Egress Gateway addon. Indicates if Static Egress Gateway addon is enabled or not." } } }, - "EndpointDependency": { - "description": "A domain name that AKS agent nodes are reaching at.", + "ManagedClusterStatus": { "type": "object", + "description": "Contains read-only information about the Managed Cluster.", "properties": { - "domainName": { - "description": "The domain name of the dependency.", - "type": "string" - }, - "endpointDetails": { - "description": "The Ports and Protocols used when connecting to domainName.", - "type": "array", - "items": { - "$ref": "#/definitions/EndpointDetail" - }, - "x-ms-identifiers": [] + "provisioningError": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail", + "description": "The error details information of the managed cluster. Preserves the detailed info of failure. If there was no error, this field is omitted.", + "readOnly": true } } }, - "EndpointDetail": { - "description": "connect information from the AKS agent nodes to a single endpoint.", + "ManagedClusterStorageProfile": { "type": "object", + "description": "Storage profile for the container service cluster.", "properties": { - "ipAddress": { - "description": "An IP Address that Domain Name currently resolves to.", - "type": "string" + "diskCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileDiskCSIDriver", + "description": "AzureDisk CSI Driver settings for the storage profile." }, - "port": { - "format": "int32", - "description": "The port an endpoint is connected to.", - "type": "integer" + "fileCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileFileCSIDriver", + "description": "AzureFile CSI Driver settings for the storage profile." }, - "protocol": { - "description": "The protocol used for connection", - "type": "string" + "snapshotController": { + "$ref": "#/definitions/ManagedClusterStorageProfileSnapshotController", + "description": "Snapshot Controller settings for the storage profile." }, - "description": { - "description": "Description of the detail", - "type": "string" + "blobCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileBlobCSIDriver", + "description": "AzureBlob CSI Driver settings for the storage profile." + } + } + }, + "ManagedClusterStorageProfileBlobCSIDriver": { + "type": "object", + "description": "AzureBlob CSI Driver settings for the storage profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureBlob CSI Driver. The default value is false." + } + } + }, + "ManagedClusterStorageProfileDiskCSIDriver": { + "type": "object", + "description": "AzureDisk CSI Driver settings for the storage profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureDisk CSI Driver. The default value is true." + } + } + }, + "ManagedClusterStorageProfileFileCSIDriver": { + "type": "object", + "description": "AzureFile CSI Driver settings for the storage profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureFile CSI Driver. The default value is true." + } + } + }, + "ManagedClusterStorageProfileSnapshotController": { + "type": "object", + "description": "Snapshot Controller settings for the storage profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Snapshot Controller. The default value is true." + } + } + }, + "ManagedClusterUpgradeProfile": { + "type": "object", + "description": "The list of available upgrades for compute pools.", + "properties": { + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } - } + ] }, - "OutboundEnvironmentEndpoint": { - "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "ManagedClusterUpgradeProfileProperties": { "type": "object", + "description": "Control plane and agent pool upgrade profiles.", "properties": { - "category": { - "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", - "type": "string" + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." }, - "endpoints": { - "description": "The endpoints that AKS agent nodes connect to", + "agentPoolProfiles": { "type": "array", + "description": "The list of available upgrade versions for agent pools.", "items": { - "$ref": "#/definitions/EndpointDependency" + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" }, "x-ms-identifiers": [] } - } - }, - "OutboundEnvironmentEndpointCollection": { - "description": "Collection of OutboundEnvironmentEndpoint", + }, "required": [ - "value" - ], + "controlPlaneProfile", + "agentPoolProfiles" + ] + }, + "ManagedClusterWindowsProfile": { "type": "object", + "description": "Profile for Windows VMs in the managed cluster.", "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/OutboundEnvironmentEndpoint" - }, - "x-ms-identifiers": [] + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

**Restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length:** 1 character

**Max-length:** 20 characters" }, - "nextLink": { - "description": "Link to next page of resources.", + "adminPassword": { "type": "string", - "readOnly": true + "description": "Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"" + }, + "licenseType": { + "$ref": "#/definitions/LicenseType", + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." + }, + "enableCSIProxy": { + "type": "boolean", + "description": "Whether to enable CSI proxy. For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." } - } + }, + "required": [ + "adminUsername" + ] }, - "ManagedClusterIngressProfile": { + "ManagedClusterWorkloadAutoScalerProfile": { "type": "object", + "description": "Workload Auto-scaler profile for the managed cluster.", "properties": { - "webAppRouting": { - "$ref": "#/definitions/ManagedClusterIngressProfileWebAppRouting", - "description": "App Routing settings for the ingress profile. You can find an overview and onboarding guide for this feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default." + "keda": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileKeda", + "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile." + }, + "verticalPodAutoscaler": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler", + "description": "VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile." } - }, - "description": "Ingress profile for the container service cluster." + } }, - "ManagedClusterIngressProfileWebAppRouting": { + "ManagedClusterWorkloadAutoScalerProfileKeda": { "type": "object", + "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.", "properties": { "enabled": { "type": "boolean", - "description": "Whether to enable the Application Routing add-on." - }, - "dnsZoneResourceIds": { - "type": "array", - "items": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Network/dnszones" - }, - { - "type": "Microsoft.Network/privateDnsZones" - } - ] - } - }, - "maxItems": 5, - "description": "Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group." - }, - "nginx": { - "$ref": "#/definitions/ManagedClusterIngressProfileNginx", - "description": "Configuration for the default NginxIngressController. See more at https://learn.microsoft.com/en-us/azure/aks/app-routing-nginx-configuration#the-default-nginx-ingress-controller." - }, - "identity": { - "readOnly": true, - "type": "object", - "$ref": "#/definitions/UserAssignedIdentity", - "description": "Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions." + "description": "Whether to enable KEDA." } }, - "description": "Application Routing add-on settings for the ingress profile." + "required": [ + "enabled" + ] }, - "ManagedClusterIngressProfileNginx": { + "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler": { "type": "object", + "description": "VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.", "properties": { - "defaultIngressControllerType": { - "type": "string", - "description": "Ingress type for the default NginxIngressController custom resource", - "enum": [ - "AnnotationControlled", - "External", - "Internal", - "None" - ], - "x-ms-enum": { - "name": "NginxIngressControllerType", - "modelAsString": true, - "values": [ - { - "value": "AnnotationControlled", - "description": "The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations." - }, - { - "value": "External", - "description": "The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten." - }, - { - "value": "Internal", - "description": "The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten." - }, - { - "value": "None", - "description": "The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired." - } - ] - } + "enabled": { + "type": "boolean", + "description": "Whether to enable VPA. Default value is false.", + "default": false } - } + }, + "required": [ + "enabled" + ] }, - "ManagedClusterSecurityProfile": { + "ManagedNamespace": { "type": "object", + "description": "Namespace managed by ARM.", "properties": { - "defender": { - "$ref": "#/definitions/ManagedClusterSecurityProfileDefender", - "description": "Microsoft Defender settings for the security profile." - }, - "azureKeyVaultKms": { - "$ref": "#/definitions/AzureKeyVaultKms", - "description": "Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile." + "properties": { + "$ref": "#/definitions/NamespaceProperties", + "description": "Properties of a namespace." }, - "workloadIdentity": { - "$ref": "#/definitions/ManagedClusterSecurityProfileWorkloadIdentity", - "description": "Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details." + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } }, - "imageCleaner": { - "$ref": "#/definitions/ManagedClusterSecurityProfileImageCleaner", - "description": "Image Cleaner settings for the security profile." + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] }, - "customCATrustCertificates": { - "$ref": "#/definitions/ManagedClusterSecurityProfileCustomCATrustCertificates", - "description": "A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority)." + "eTag": { + "type": "string", + "description": "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.", + "readOnly": true } }, - "description": "Security profile for the container service cluster." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ] }, - "AzureKeyVaultKms": { + "ManagedNamespaceListResult": { "type": "object", + "description": "The response of a ManagedNamespace list operation.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Azure Key Vault key management service. The default is false." - }, - "keyId": { - "type": "string", - "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty." - }, - "keyVaultNetworkAccess": { - "type": "string", - "enum": [ - "Public", - "Private" - ], - "default": "Public", - "x-ms-enum": { - "name": "KeyVaultNetworkAccessTypes", - "modelAsString": true - }, - "description": "Network access of the key vault. Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`." + "value": { + "type": "array", + "description": "The ManagedNamespace items on this page", + "items": { + "$ref": "#/definitions/ManagedNamespace" + } }, - "keyVaultResourceId": { + "nextLink": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.KeyVault/vaults" - } - ] - }, - "description": "Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty." + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Azure Key Vault key management service settings for the security profile." + "required": [ + "value" + ] }, - "ManagedClusterSecurityProfileWorkloadIdentity": { + "ManagedServiceIdentityUserAssignedIdentitiesValue": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable workload identity." + "principalId": { + "type": "string", + "description": "The principal id of user assigned identity.", + "readOnly": true + }, + "clientId": { + "type": "string", + "description": "The client id of user assigned identity.", + "readOnly": true } - }, - "description": "Workload identity settings for the security profile." + } }, - "ManagedClusterSecurityProfileImageCleaner": { + "ManualScaleProfile": { "type": "object", + "description": "Specifications on number of machines.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Image Cleaner on AKS cluster." + "size": { + "type": "string", + "description": "VM size that AKS will use when creating and scaling e.g. 'Standard_E4s_v3', 'Standard_E16s_v3' or 'Standard_D16s_v5'." }, - "intervalHours": { + "count": { "type": "integer", "format": "int32", - "description": "Image Cleaner scanning interval in hours." + "description": "Number of nodes." + } + } + }, + "MeshRevision": { + "type": "object", + "description": "Holds information on upgrades and compatibility for given major.minor mesh release.", + "properties": { + "revision": { + "type": "string", + "description": "The revision of the mesh release." + }, + "upgrades": { + "type": "array", + "description": "List of revisions available for upgrade of a specific mesh revision", + "items": { + "$ref": "#/definitions/MeshRevisionUpgradesType" + } + }, + "compatibleWith": { + "type": "array", + "description": "List of items this revision of service mesh is compatible with, and their associated versions.", + "items": { + "$ref": "#/definitions/CompatibleVersions" + }, + "x-ms-identifiers": [] } - }, - "description": "Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile." + } }, - "ManagedClusterStorageProfile": { + "MeshRevisionProfile": { "type": "object", + "description": "Mesh revision profile for a mesh.", "properties": { - "diskCSIDriver": { - "$ref": "#/definitions/ManagedClusterStorageProfileDiskCSIDriver", - "description": "AzureDisk CSI Driver settings for the storage profile." - }, - "fileCSIDriver": { - "$ref": "#/definitions/ManagedClusterStorageProfileFileCSIDriver", - "description": "AzureFile CSI Driver settings for the storage profile." - }, - "snapshotController": { - "$ref": "#/definitions/ManagedClusterStorageProfileSnapshotController", - "description": "Snapshot Controller settings for the storage profile." - }, - "blobCSIDriver": { - "$ref": "#/definitions/ManagedClusterStorageProfileBlobCSIDriver", - "description": "AzureBlob CSI Driver settings for the storage profile." + "properties": { + "$ref": "#/definitions/MeshRevisionProfileProperties", + "description": "Mesh revision profile properties for a mesh" } }, - "description": "Storage profile for the container service cluster." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "ManagedClusterSecurityProfileDefender": { + "MeshRevisionProfileList": { "type": "object", + "description": "Holds an array of MeshRevisionsProfiles", "properties": { - "logAnalyticsWorkspaceResourceId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.OperationalInsights/workspaces" - } - ] - }, - "description": "Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty." + "value": { + "type": "array", + "description": "The MeshRevisionProfile items on this page", + "items": { + "$ref": "#/definitions/MeshRevisionProfile" + } }, - "securityMonitoring": { - "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityMonitoring", - "description": "Microsoft Defender threat detection for Cloud settings for the security profile." + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Microsoft Defender settings for the security profile." + "required": [ + "value" + ] }, - "ManagedClusterSecurityProfileDefenderSecurityMonitoring": { + "MeshRevisionProfileProperties": { "type": "object", + "description": "Mesh revision profile properties for a mesh", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Defender threat detection" + "meshRevisions": { + "type": "array", + "items": { + "$ref": "#/definitions/MeshRevision" + }, + "x-ms-identifiers": [] } - }, - "description": "Microsoft Defender settings for the security profile threat detection." + } }, - "ManagedClusterSecurityProfileCustomCATrustCertificates": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "minItems": 0, - "maxItems": 10, - "description": "The list of base64 encoded certificate strings that will be added to the node trust store. At most 10 certificates can be provided. Certificates will be added to trust stores of all the nodes in the cluster. If updated, the new list of certificates will be installed in the trust store in place of the old certificates. For node pools of VMSS type, updating the value of this field will result in nodes being reimaged." + "MeshRevisionUpgradesType": { + "type": "string", + "description": "An upgradeable mesh revision" }, - "ManagedClusterStorageProfileDiskCSIDriver": { + "MeshUpgradeProfile": { "type": "object", + "description": "Upgrade profile for given mesh.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable AzureDisk CSI Driver. The default value is true." + "properties": { + "$ref": "#/definitions/MeshUpgradeProfileProperties", + "description": "Mesh upgrade profile properties for a major.minor release." } }, - "description": "AzureDisk CSI Driver settings for the storage profile." + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] }, - "ManagedClusterStorageProfileFileCSIDriver": { + "MeshUpgradeProfileList": { "type": "object", + "description": "Holds an array of MeshUpgradeProfiles", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable AzureFile CSI Driver. The default value is true." + "value": { + "type": "array", + "description": "The MeshUpgradeProfile items on this page", + "items": { + "$ref": "#/definitions/MeshUpgradeProfile" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "AzureFile CSI Driver settings for the storage profile." + "required": [ + "value" + ] }, - "ManagedClusterStorageProfileSnapshotController": { + "MeshUpgradeProfileProperties": { "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable Snapshot Controller. The default value is true." + "description": "Mesh upgrade profile properties for a major.minor release.", + "allOf": [ + { + "$ref": "#/definitions/MeshRevision" } - }, - "description": "Snapshot Controller settings for the storage profile." + ] }, - "ManagedClusterStorageProfileBlobCSIDriver": { + "NamespaceProperties": { "type": "object", + "description": "Properties of a namespace managed by ARM", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable AzureBlob CSI Driver. The default value is false." + "provisioningState": { + "$ref": "#/definitions/NamespaceProvisioningState", + "description": "The current provisioning state of the namespace.", + "readOnly": true + }, + "labels": { + "type": "object", + "description": "The labels of managed namespace.", + "additionalProperties": { + "type": "string" + } + }, + "annotations": { + "type": "object", + "description": "The annotations of managed namespace.", + "additionalProperties": { + "type": "string" + } + }, + "portalFqdn": { + "type": "string", + "description": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly.", + "readOnly": true + }, + "defaultResourceQuota": { + "$ref": "#/definitions/ResourceQuota", + "description": "The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied." + }, + "defaultNetworkPolicy": { + "$ref": "#/definitions/NetworkPolicies", + "description": "The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow." + }, + "adoptionPolicy": { + "$ref": "#/definitions/AdoptionPolicy", + "description": "Action if Kubernetes namespace with same name already exists." + }, + "deletePolicy": { + "$ref": "#/definitions/DeletePolicy", + "description": "Delete options of a namespace." } - }, - "description": "AzureBlob CSI Driver settings for the storage profile." + } }, - "CreationData": { - "description": "Data used when creating a target resource from a source resource.", + "NamespaceProvisioningState": { + "type": "string", + "description": "The current provisioning state of the namespace.", + "enum": [ + "Updating", + "Deleting", + "Creating", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "NamespaceProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Updating", + "value": "Updating" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Creating", + "value": "Creating" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Canceled", + "value": "Canceled" + } + ] + } + }, + "NetworkDataplane": { + "type": "string", + "description": "Network dataplane used in the Kubernetes cluster.", + "enum": [ + "azure", + "cilium" + ], + "x-ms-enum": { + "name": "NetworkDataplane", + "modelAsString": true, + "values": [ + { + "name": "azure", + "value": "azure", + "description": "Use Azure network dataplane." + }, + { + "name": "cilium", + "value": "cilium", + "description": "Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information." + } + ] + } + }, + "NetworkMode": { + "type": "string", + "description": "The network mode Azure CNI is configured with. This cannot be specified if networkPlugin is anything other than 'azure'.", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "NetworkMode", + "modelAsString": true, + "values": [ + { + "name": "transparent", + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "name": "bridge", + "value": "bridge", + "description": "This is no longer supported" + } + ] + } + }, + "NetworkPlugin": { + "type": "string", + "description": "Network plugin used for building the Kubernetes network.", + "enum": [ + "azure", + "kubenet", + "none" + ], + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true, + "values": [ + { + "name": "azure", + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." + }, + { + "name": "kubenet", + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + }, + { + "name": "none", + "value": "none", + "description": "No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information." + } + ] + } + }, + "NetworkPluginMode": { + "type": "string", + "description": "The mode the network plugin should use.", + "enum": [ + "overlay" + ], + "x-ms-enum": { + "name": "NetworkPluginMode", + "modelAsString": true, + "values": [ + { + "name": "overlay", + "value": "overlay", + "description": "Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay." + } + ] + } + }, + "NetworkPolicies": { "type": "object", + "description": "Default network policy of the namespace, specifying ingress and egress rules.", "properties": { - "sourceResourceId": { + "ingress": { "type": "string", - "format": "arm-id", - "description": "This is the ARM ID of the source object to be used to create the target object." + "description": "Enum representing different network policy rules.", + "default": "AllowSameNamespace", + "enum": [ + "DenyAll", + "AllowAll", + "AllowSameNamespace" + ], + "x-ms-enum": { + "name": "PolicyRule", + "modelAsString": true, + "values": [ + { + "name": "DenyAll", + "value": "DenyAll", + "description": "Deny all network traffic." + }, + { + "name": "AllowAll", + "value": "AllowAll", + "description": "Allow all network traffic." + }, + { + "name": "AllowSameNamespace", + "value": "AllowSameNamespace", + "description": "Allow traffic within the same namespace." + } + ] + } + }, + "egress": { + "type": "string", + "description": "Enum representing different network policy rules.", + "default": "AllowAll", + "enum": [ + "DenyAll", + "AllowAll", + "AllowSameNamespace" + ], + "x-ms-enum": { + "name": "PolicyRule", + "modelAsString": true, + "values": [ + { + "name": "DenyAll", + "value": "DenyAll", + "description": "Deny all network traffic." + }, + { + "name": "AllowAll", + "value": "AllowAll", + "description": "Allow all network traffic." + }, + { + "name": "AllowSameNamespace", + "value": "AllowSameNamespace", + "description": "Allow traffic within the same namespace." + } + ] + } } } }, - "SnapshotListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Snapshot" + "NetworkPolicy": { + "type": "string", + "description": "Network policy used for building the Kubernetes network.", + "enum": [ + "none", + "calico", + "azure", + "cilium" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "name": "none", + "value": "none", + "description": "Network policies will not be enforced. This is the default value when NetworkPolicy is not specified." }, - "description": "The list of snapshots." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of snapshot results.", - "readOnly": true - } - }, - "description": "The response from the List Snapshots operation." + { + "name": "calico", + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "name": "azure", + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "name": "cilium", + "value": "cilium", + "description": "Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'." + } + ] + } }, - "Snapshot": { - "type": "object", - "properties": { - "properties": { - "description": "Properties of a snapshot.", - "$ref": "#/definitions/SnapshotProperties", - "x-ms-client-flatten": true - } - }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" - } + "NginxIngressControllerType": { + "type": "string", + "description": "Ingress type for the default NginxIngressController custom resource", + "enum": [ + "AnnotationControlled", + "External", + "Internal", + "None" ], - "description": "A node pool snapshot resource." + "x-ms-enum": { + "name": "NginxIngressControllerType", + "modelAsString": true, + "values": [ + { + "name": "AnnotationControlled", + "value": "AnnotationControlled", + "description": "The default NginxIngressController will be created. Users can edit the default NginxIngressController Custom Resource to configure load balancer annotations." + }, + { + "name": "External", + "value": "External", + "description": "The default NginxIngressController will be created and the operator will provision an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten." + }, + { + "name": "Internal", + "value": "Internal", + "description": "The default NginxIngressController will be created and the operator will provision an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten." + }, + { + "name": "None", + "value": "None", + "description": "The default Ingress Controller will not be created. It will not be deleted by the system if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired." + } + ] + } }, - "SnapshotProperties": { - "type": "object", - "properties": { - "creationData": { - "$ref": "#/definitions/CreationData", - "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." - }, - "snapshotType": { - "$ref": "#/definitions/SnapshotType" - }, - "kubernetesVersion": { - "readOnly": true, - "type": "string", - "description": "The version of Kubernetes." - }, - "nodeImageVersion": { - "readOnly": true, - "type": "string", - "description": "The version of node image." - }, - "osType": { - "readOnly": true, - "$ref": "#/definitions/OSType" - }, - "osSku": { - "readOnly": true, - "$ref": "#/definitions/OSSKU" - }, - "vmSize": { - "readOnly": true, - "type": "string", - "description": "The size of the VM." - }, - "enableFIPS": { - "readOnly": true, - "type": "boolean", - "description": "Whether to use a FIPS-enabled OS." - } - }, - "description": "Properties used to configure a node pool snapshot." + "NodeOSUpgradeChannel": { + "type": "string", + "description": "Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage.", + "enum": [ + "None", + "Unmanaged", + "NodeImage", + "SecurityPatch" + ], + "x-ms-enum": { + "name": "NodeOSUpgradeChannel", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates" + }, + { + "name": "Unmanaged", + "value": "Unmanaged", + "description": "OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice" + }, + { + "name": "NodeImage", + "value": "NodeImage", + "description": "AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images." + }, + { + "name": "SecurityPatch", + "value": "SecurityPatch", + "description": "AKS downloads and updates the nodes with tested security updates. These updates honor the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for just in time consumption." + } + ] + } }, - "SnapshotType": { + "NodeProvisioningMode": { "type": "string", - "default": "NodePool", + "description": "The node provisioning mode. If not specified, the default is Manual.", "enum": [ - "NodePool" + "Manual", + "Auto" ], "x-ms-enum": { - "name": "SnapshotType", + "name": "NodeProvisioningMode", "modelAsString": true, "values": [ { - "value": "NodePool", - "description": "The snapshot is a snapshot of a node pool." + "name": "Manual", + "value": "Manual", + "description": "Nodes are provisioned manually by the user" + }, + { + "name": "Auto", + "value": "Auto", + "description": "Nodes are provisioned automatically by AKS using Karpenter (See aka.ms/aks/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details)." } ] - }, - "description": "The type of a snapshot. The default is NodePool." + } }, - "ManagedClusterWorkloadAutoScalerProfile": { - "type": "object", - "description": "Workload Auto-scaler profile for the managed cluster.", - "properties": { - "keda": { - "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileKeda" - }, - "verticalPodAutoscaler": { - "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler" - } + "OSDiskType": { + "type": "string", + "description": "The OS disk type to be used for machines in the agent pool. The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "name": "Managed", + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "name": "Ephemeral", + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] } }, - "ManagedClusterWorkloadAutoScalerProfileKeda": { + "OSSKU": { + "type": "string", + "description": "Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.", + "enum": [ + "Ubuntu", + "AzureLinux", + "AzureLinux3", + "CBLMariner", + "Windows2019", + "Windows2022", + "Ubuntu2204", + "Ubuntu2404" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true, + "values": [ + { + "name": "Ubuntu", + "value": "Ubuntu", + "description": "Use Ubuntu as the OS for node images." + }, + { + "name": "AzureLinux", + "value": "AzureLinux", + "description": "Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information." + }, + { + "name": "AzureLinux3", + "value": "AzureLinux3", + "description": "Use AzureLinux3 as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information. For limitations, visit https://aka.ms/aks/node-images. For OS migration guidance, see https://aka.ms/aks/upgrade-os-version." + }, + { + "name": "CBLMariner", + "value": "CBLMariner", + "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." + }, + { + "name": "Windows2019", + "value": "Windows2019", + "description": "Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa." + }, + { + "name": "Windows2022", + "value": "Windows2022", + "description": "Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa." + }, + { + "name": "Ubuntu2204", + "value": "Ubuntu2204", + "description": "Use Ubuntu2204 as the OS for node images, however, Ubuntu 22.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see https://aka.ms/aks/supported-ubuntu-versions" + }, + { + "name": "Ubuntu2404", + "value": "Ubuntu2404", + "description": "Use Ubuntu2404 as the OS for node images, however, Ubuntu 24.04 may not be supported for all nodepools. For limitations and supported kubernetes versions, see see https://aka.ms/aks/supported-ubuntu-versions" + } + ] + } + }, + "OperationListResult": { "type": "object", - "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.", + "description": "The List Operation response.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable KEDA." + "value": { + "type": "array", + "description": "The list of operations", + "items": { + "$ref": "#/definitions/OperationValue" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "enabled" + "value" ] }, - "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler": { + "OperationValue": { "type": "object", - "description": "VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.", + "description": "Describes the properties of a Operation value.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable VPA. Default value is false.", - "default": false + "origin": { + "type": "string", + "description": "The origin of the operation.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the operation.", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display.", + "x-ms-client-flatten": true } - }, - "required": [ - "enabled" - ] + } }, - "ManagedClusterAzureMonitorProfile": { + "OperationValueDisplay": { "type": "object", - "description": "Azure Monitor addon profiles for monitoring the managed cluster.", + "description": "Describes the properties of a Operation Value Display.", "properties": { - "metrics": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileMetrics" + "operation": { + "type": "string", + "description": "The display name of the operation.", + "readOnly": true + }, + "resource": { + "type": "string", + "description": "The display name of the resource the operation applies to.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "The description of the operation.", + "readOnly": true + }, + "provider": { + "type": "string", + "description": "The resource provider for the operation.", + "readOnly": true } } }, - "ManagedClusterAzureMonitorProfileKubeStateMetrics": { + "OutboundEnvironmentEndpoint": { "type": "object", - "description": "Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.", + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", "properties": { - "metricLabelsAllowlist": { + "category": { "type": "string", - "description": "Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels." + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc." }, - "metricAnnotationsAllowList": { - "type": "string", - "description": "Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels." + "endpoints": { + "type": "array", + "description": "The endpoints that AKS agent nodes connect to", + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [] } } }, - "ManagedClusterAzureMonitorProfileMetrics": { + "OutboundEnvironmentEndpointCollection": { "type": "object", - "description": "Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.", + "description": "Collection of OutboundEnvironmentEndpoint", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling." + "value": { + "type": "array", + "description": "The OutboundEnvironmentEndpoint items on this page", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } }, - "kubeStateMetrics": { - "$ref": "#/definitions/ManagedClusterAzureMonitorProfileKubeStateMetrics" + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, "required": [ - "enabled" + "value" ] }, - "ServiceMeshProfile": { - "type": "object", - "description": "Service mesh profile for a managed cluster.", - "properties": { - "mode": { - "type": "string", - "description": "Mode of the service mesh.", - "enum": [ - "Istio", - "Disabled" - ], - "x-ms-enum": { - "name": "ServiceMeshMode", - "modelAsString": true, - "values": [ - { - "value": "Istio", - "description": "Istio deployed as an AKS addon." - }, - { - "value": "Disabled", - "description": "Mesh is disabled." - } - ] + "PodIPAllocationMode": { + "type": "string", + "description": "Pod IP Allocation Mode. The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'.", + "enum": [ + "DynamicIndividual", + "StaticBlock" + ], + "x-ms-enum": { + "name": "PodIPAllocationMode", + "modelAsString": true, + "values": [ + { + "name": "DynamicIndividual", + "value": "DynamicIndividual", + "description": "Each node gets allocated with a non-contiguous list of IP addresses assignable to pods. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode" + }, + { + "name": "StaticBlock", + "value": "StaticBlock", + "description": "Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger" } - }, - "istio": { - "$ref": "#/definitions/IstioServiceMesh" - } - }, - "required": [ - "mode" - ] + ] + } }, - "IstioServiceMesh": { + "PortRange": { "type": "object", - "description": "Istio service mesh configuration.", + "description": "The port range.", "properties": { - "components": { - "$ref": "#/definitions/IstioComponents" + "portStart": { + "type": "integer", + "format": "int32", + "description": "The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd.", + "minimum": 1, + "maximum": 65535 }, - "certificateAuthority": { - "$ref": "#/definitions/IstioCertificateAuthority" + "portEnd": { + "type": "integer", + "format": "int32", + "description": "The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart.", + "minimum": 1, + "maximum": 65535 }, - "revisions": { - "type": "array", - "description": "The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade", - "items": { - "type": "string" - }, - "uniqueItems": true, - "maxItems": 2 + "protocol": { + "$ref": "#/definitions/Protocol", + "description": "The network protocol of the port." } } }, - "IstioComponents": { + "PowerState": { "type": "object", - "description": "Istio components configuration.", + "description": "Describes the Power State of the cluster", "properties": { - "ingressGateways": { - "type": "array", - "description": "Istio ingress gateways.", - "items": { - "$ref": "#/definitions/IstioIngressGateway" - }, - "x-ms-identifiers": [] - }, - "egressGateways": { - "type": "array", - "description": "Istio egress gateways.", - "items": { - "$ref": "#/definitions/IstioEgressGateway" - }, - "x-ms-identifiers": [] + "code": { + "$ref": "#/definitions/Code", + "description": "Tells whether the cluster is Running or Stopped" } } }, - "IstioIngressGateway": { + "PrivateEndpoint": { "type": "object", - "description": "Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`.", + "description": "Private endpoint which a connection belongs to.", "properties": { - "mode": { + "id": { "type": "string", - "description": "Mode of an ingress gateway.", - "enum": [ - "External", - "Internal" - ], - "x-ms-enum": { - "name": "IstioIngressGatewayMode", - "modelAsString": true, - "values": [ - { - "value": "External", - "description": "The ingress gateway is assigned a public IP address and is publicly accessible." - }, - { - "value": "Internal", - "description": "The ingress gateway is assigned an internal IP address and cannot is accessed publicly." - } - ] - } - }, - "enabled": { - "type": "boolean", - "description": "Whether to enable the ingress gateway." + "description": "The resource ID of the private endpoint" + } + } + }, + "PrivateEndpointConnection": { + "type": "object", + "description": "A private endpoint connection", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true } }, - "required": [ - "mode", - "enabled" + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } ] }, - "IstioCertificateAuthority": { + "PrivateEndpointConnectionListResult": { "type": "object", - "description": "Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca", + "description": "A list of private endpoint connections", "properties": { - "plugin": { - "$ref": "#/definitions/IstioPluginCertificateAuthority" + "value": { + "type": "array", + "description": "The collection value.", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } } } }, - "IstioPluginCertificateAuthority": { + "PrivateEndpointConnectionProperties": { "type": "object", - "description": "Plugin certificates information for Service Mesh.", + "description": "Properties of a private endpoint connection.", "properties": { - "keyVaultId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.KeyVault/vaults" - } - ] - }, - "description": "The resource ID of the Key Vault." - }, - "certObjectName": { - "type": "string", - "description": "Intermediate certificate object name in Azure Key Vault." - }, - "keyObjectName": { - "type": "string", - "description": "Intermediate certificate private key object name in Azure Key Vault." + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The current provisioning state.", + "readOnly": true }, - "rootCertObjectName": { - "type": "string", - "description": "Root certificate object name in Azure Key Vault." + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." }, - "certChainObjectName": { - "type": "string", - "description": "Certificate chain object name in Azure Key Vault." + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "description": "The current provisioning state.", + "enum": [ + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Canceled", + "value": "Canceled" + }, + { + "name": "Creating", + "value": "Creating" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Succeeded", + "value": "Succeeded" + } + ] } }, - "IstioEgressGateway": { + "PrivateLinkResource": { "type": "object", - "description": "Istio egress gateway configuration.", + "description": "A private link resource", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable the egress gateway." + "id": { + "type": "string", + "description": "The ID of the private link resource." }, "name": { "type": "string", - "description": "Name of the Istio add-on egress gateway.", - "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*" + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } }, - "namespace": { + "type": { "type": "string", - "description": "Namespace that the Istio add-on egress gateway should be deployed in. If unspecified, the default is aks-istio-egress." + "description": "The resource type." }, - "gatewayConfigurationName": { + "groupId": { "type": "string", - "description": "Name of the gateway configuration custom resource for the Istio add-on egress gateway. Must be specified when enabling the Istio egress gateway. Must be deployed in the same namespace that the Istio egress gateway will be deployed in." - } - }, - "required": [ - "enabled", - "name" - ] - }, - "MeshRevisionProfileList": { - "type": "object", - "description": "Holds an array of MeshRevisionsProfiles", - "properties": { - "value": { + "description": "The group ID of the resource." + }, + "requiredMembers": { "type": "array", - "x-ms-identifiers": [], + "description": "The RequiredMembers of the resource", "items": { - "$ref": "#/definitions/MeshRevisionProfile" - }, - "description": "Array of service mesh add-on revision profiles for all supported mesh modes." + "type": "string" + } }, - "nextLink": { + "privateLinkServiceID": { "type": "string", - "description": "The URL to get the next set of mesh revision profile.", + "format": "arm-id", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally.", "readOnly": true } } }, - "MeshRevisionProfile": { - "type": "object", - "description": "Mesh revision profile for a mesh.", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/MeshRevisionProfileProperties" - } - } - }, - "MeshRevisionProfileProperties": { + "PrivateLinkResourcesListResult": { "type": "object", - "description": "Mesh revision profile properties for a mesh", + "description": "A list of private link resources", "properties": { - "meshRevisions": { + "value": { "type": "array", - "x-ms-identifiers": [], + "description": "The collection value.", "items": { - "$ref": "#/definitions/MeshRevision" + "$ref": "#/definitions/PrivateLinkResource" } } } }, - "MeshUpgradeProfileList": { + "PrivateLinkServiceConnectionState": { "type": "object", - "description": "Holds an array of MeshUpgradeProfiles", + "description": "The state of a private link service connection.", "properties": { - "value": { - "type": "array", - "x-ms-identifiers": [], - "items": { - "$ref": "#/definitions/MeshUpgradeProfile" - }, - "description": "Array of supported service mesh add-on upgrade profiles." + "status": { + "$ref": "#/definitions/ConnectionStatus", + "description": "The private link service connection status." }, - "nextLink": { + "description": { "type": "string", - "description": "The URL to get the next set of mesh upgrade profile.", - "readOnly": true + "description": "The private link service connection description." } } }, - "MeshUpgradeProfile": { - "type": "object", - "description": "Upgrade profile for given mesh.", - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } + "Protocol": { + "type": "string", + "description": "The network protocol of the port.", + "enum": [ + "TCP", + "UDP" ], - "properties": { - "properties": { - "$ref": "#/definitions/MeshUpgradeProfileProperties" - } + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true, + "values": [ + { + "name": "TCP", + "value": "TCP", + "description": "TCP protocol." + }, + { + "name": "UDP", + "value": "UDP", + "description": "UDP protocol." + } + ] } }, - "MeshUpgradeProfileProperties": { + "PublicNetworkAccess": { + "type": "string", + "description": "PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Inbound/Outbound to the managedCluster is allowed." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed." + } + ] + } + }, + "RelativeMonthlySchedule": { "type": "object", - "description": "Mesh upgrade profile properties for a major.minor release.", - "allOf": [ - { - "$ref": "#/definitions/MeshRevision" + "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'.", + "properties": { + "intervalMonths": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of months between each set of occurrences.", + "minimum": 1, + "maximum": 6 + }, + "weekIndex": { + "$ref": "#/definitions/Type", + "description": "The week index. Specifies on which week of the month the dayOfWeek applies." + }, + "dayOfWeek": { + "$ref": "#/definitions/WeekDay", + "description": "Specifies on which day of the week the maintenance occurs." } + }, + "required": [ + "intervalMonths", + "weekIndex", + "dayOfWeek" ] }, - "MeshRevision": { + "ResourceIdentityType": { + "type": "string", + "description": "The type of identity used for the managed cluster. For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "name": "SystemAssigned", + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "name": "UserAssigned", + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "name": "None", + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] + } + }, + "ResourceQuota": { "type": "object", - "description": "Holds information on upgrades and compatibility for given major.minor mesh release.", + "description": "Resource quota for the namespace.", "properties": { - "revision": { + "cpuRequest": { "type": "string", - "description": "The revision of the mesh release." + "description": "CPU request of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details." }, - "upgrades": { - "type": "array", - "description": "List of revisions available for upgrade of a specific mesh revision", - "items": { - "type": "string", - "description": "An upgradeable mesh revision" - } + "cpuLimit": { + "type": "string", + "description": "CPU limit of the namespace in one-thousandth CPU form. See [CPU resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu) for more details." }, - "compatibleWith": { - "type": "array", - "description": "List of items this revision of service mesh is compatible with, and their associated versions.", - "items": { - "$ref": "#/definitions/CompatibleVersions" - }, - "x-ms-identifiers": [] + "memoryRequest": { + "type": "string", + "description": "Memory request of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details." + }, + "memoryLimit": { + "type": "string", + "description": "Memory limit of the namespace in the power-of-two equivalents form: Ei, Pi, Ti, Gi, Mi, Ki. See [Memory resource units](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory) for more details." } } }, - "CompatibleVersions": { + "ResourceReference": { "type": "object", - "description": "Version information about a product/service that is compatible with a service mesh revision.", + "description": "A reference to an Azure resource.", "properties": { - "name": { + "id": { "type": "string", - "description": "The product/service name." - }, - "versions": { - "type": "array", - "description": "Product/service versions compatible with a service mesh add-on revision.", - "items": { - "type": "string", - "description": "A compatible product/service version." - } + "format": "arm-id", + "description": "The fully qualified Azure resource id." } } }, - "KubernetesSupportPlan": { + "RestrictionLevel": { "type": "string", - "description": "Different support tiers for AKS managed clusters", + "description": "The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted'", "enum": [ - "KubernetesOfficial", - "AKSLongTermSupport" + "Unrestricted", + "ReadOnly" ], "x-ms-enum": { - "name": "KubernetesSupportPlan", + "name": "RestrictionLevel", "modelAsString": true, "values": [ { - "value": "KubernetesOfficial", - "description": "Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release." + "name": "Unrestricted", + "value": "Unrestricted", + "description": "All RBAC permissions are allowed on the managed node resource group" }, { - "value": "AKSLongTermSupport", - "description": "Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support." + "name": "ReadOnly", + "value": "ReadOnly", + "description": "Only \\*\\/read RBAC permissions allowed on the managed node resource group" } ] } }, - "KubernetesVersionCapabilities": { + "RunCommandRequest": { "type": "object", - "description": "Capabilities on this Kubernetes version.", + "description": "A run command request", "properties": { - "supportPlan": { - "type": "array", - "x-ms-identifiers": [], - "items": { - "$ref": "#/definitions/KubernetesSupportPlan" - } + "command": { + "type": "string", + "description": "The command to run." + }, + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." + }, + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "required": [ + "command" + ] + }, + "RunCommandResult": { + "type": "object", + "description": "run command result.", + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/CommandResultProperties", + "description": "Properties of command result.", + "x-ms-client-flatten": true } } }, - "KubernetesPatchVersion": { + "ScaleDownMode": { + "type": "string", + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing).", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "name": "Delete", + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "name": "Deallocate", + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + } + ] + } + }, + "ScaleProfile": { "type": "object", - "description": "Kubernetes patch version profile", + "description": "Specifications on how to scale a VirtualMachines agent pool.", "properties": { - "upgrades": { + "manual": { "type": "array", - "description": "Possible upgrade path for given patch version", - "x-ms-identifiers": [], + "description": "Specifications on how to scale the VirtualMachines agent pool to a fixed size.", "items": { - "type": "string" - } + "$ref": "#/definitions/ManualScaleProfile" + }, + "x-ms-identifiers": [] } } }, - "KubernetesVersion": { + "Schedule": { "type": "object", - "description": "Kubernetes version profile for given major.minor release.", + "description": "One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule.", "properties": { - "version": { - "type": "string", - "description": "major.minor version of Kubernetes release" - }, - "capabilities": { - "$ref": "#/definitions/KubernetesVersionCapabilities", - "description": "Capabilities on this Kubernetes version." - }, - "isDefault": { - "type": "boolean", - "description": "Whether this version is default." + "daily": { + "$ref": "#/definitions/DailySchedule", + "description": "For schedules like: 'recur every day' or 'recur every 3 days'." }, - "isPreview": { - "type": "boolean", - "description": "Whether this version is in preview mode." + "weekly": { + "$ref": "#/definitions/WeeklySchedule", + "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'." }, - "patchVersions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/KubernetesPatchVersion" - }, - "description": "Patch versions of Kubernetes release" + "absoluteMonthly": { + "$ref": "#/definitions/AbsoluteMonthlySchedule", + "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'." + }, + "relativeMonthly": { + "$ref": "#/definitions/RelativeMonthlySchedule", + "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'." } } }, - "KubernetesVersionListResult": { + "ServiceMeshMode": { + "type": "string", + "description": "Mode of the service mesh.", + "enum": [ + "Istio", + "Disabled" + ], + "x-ms-enum": { + "name": "ServiceMeshMode", + "modelAsString": true, + "values": [ + { + "name": "Istio", + "value": "Istio", + "description": "Istio deployed as an AKS addon." + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Mesh is disabled." + } + ] + } + }, + "ServiceMeshProfile": { "type": "object", - "description": "Hold values properties, which is array of KubernetesVersion", + "description": "Service mesh profile for a managed cluster.", "properties": { - "values": { - "type": "array", - "x-ms-identifiers": [], - "items": { - "$ref": "#/definitions/KubernetesVersion" - }, - "description": "Array of AKS supported Kubernetes versions." + "mode": { + "$ref": "#/definitions/ServiceMeshMode", + "description": "Mode of the service mesh." + }, + "istio": { + "$ref": "#/definitions/IstioServiceMesh", + "description": "Istio service mesh configuration." } - } + }, + "required": [ + "mode" + ] }, - "ManagedClusterMetricsProfile": { + "Snapshot": { "type": "object", - "description": "The metrics profile for the ManagedCluster.", + "description": "A node pool snapshot resource.", "properties": { - "costAnalysis": { - "$ref": "#/definitions/ManagedClusterCostAnalysis", - "description": "The configuration for detailed per-Kubernetes resource cost analysis." + "properties": { + "$ref": "#/definitions/SnapshotProperties", + "description": "Properties of a snapshot.", + "x-ms-client-flatten": true } - } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" + } + ] }, - "ManagedClusterCostAnalysis": { + "SnapshotListResult": { "type": "object", - "description": "The cost analysis configuration for the cluster", + "description": "The response of a Snapshot list operation.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis." + "value": { + "type": "array", + "description": "The Snapshot items on this page", + "items": { + "$ref": "#/definitions/Snapshot" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, - "ManagedClusterNodeProvisioningProfile": { + "SnapshotProperties": { "type": "object", + "description": "Properties used to configure a node pool snapshot.", "properties": { - "mode": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { "type": "string", + "description": "The type of a snapshot. The default is NodePool.", + "default": "NodePool", "enum": [ - "Manual", - "Auto" + "NodePool" ], "x-ms-enum": { - "name": "NodeProvisioningMode", + "name": "SnapshotType", "modelAsString": true, "values": [ { - "value": "Manual", - "description": "Nodes are provisioned manually by the user" - }, - { - "value": "Auto", - "description": "Nodes are provisioned automatically by AKS using Karpenter (See aka.ms/aks/nap for more details). Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details)." + "name": "NodePool", + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." } ] - }, - "description": "The node provisioning mode. If not specified, the default is Manual." + } }, - "defaultNodePools": { + "kubernetesVersion": { + "type": "string", + "description": "The version of Kubernetes.", + "readOnly": true + }, + "nodeImageVersion": { + "type": "string", + "description": "The version of node image.", + "readOnly": true + }, + "osType": { + "type": "string", + "description": "The operating system type. The default is Linux.", + "default": "Linux", "enum": [ - "None", - "Auto" + "Linux", + "Windows" ], - "description": "The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools.", - "default": "Auto", - "type": "string", "x-ms-enum": { + "name": "OSType", "modelAsString": true, - "name": "NodeProvisioningDefaultNodePools", "values": [ { - "description": "No Karpenter NodePools are provisioned automatically. Automatic scaling will not happen unless the user creates one or more NodePool CRD instances.", - "value": "None" + "name": "Linux", + "value": "Linux", + "description": "Use Linux." }, { - "description": "A standard set of Karpenter NodePools are provisioned", - "value": "Auto" + "name": "Windows", + "value": "Windows", + "description": "Use Windows." } ] - } + }, + "readOnly": true + }, + "osSku": { + "$ref": "#/definitions/OSSKU", + "description": "Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows.", + "readOnly": true + }, + "vmSize": { + "type": "string", + "description": "The size of the VM.", + "readOnly": true + }, + "enableFIPS": { + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS.", + "readOnly": true + } + } + }, + "SysctlConfig": { + "type": "object", + "description": "Sysctl settings for Linux agent nodes.", + "properties": { + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl.", + "minimum": 10, + "maximum": 90 + }, + "netIpv4TcpTwReuse": { + "type": "boolean", + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_max.", + "minimum": 131072, + "maximum": 2097152 + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets.", + "minimum": 65536, + "maximum": 524288 + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." + }, + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." } } }, - "ManagedClusterAIToolchainOperatorProfile": { + "TagsObject": { "type": "object", - "description": "When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them.", + "description": "Tags object for patch operations.", "properties": { - "enabled": { - "type": "boolean", - "description": "Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not." + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } } } }, - "ManagedClusterBootstrapProfile": { - "description": "The bootstrap profile.", - "properties": { - "artifactSource": { - "type": "string", - "enum": [ - "Direct", - "Cache" - ], - "x-ms-enum": { - "name": "ArtifactSource", - "modelAsString": true, - "values": [ - { - "value": "Cache", - "description": "pull images from Azure Container Registry with cache" - }, - { - "value": "Direct", - "description": "pull images from Microsoft Artifact Registry" - } - ] - }, - "default": "Direct", - "description": "The artifact source. The source where the artifacts are downloaded from." - }, - "containerRegistryId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.ContainerRegistry/registries" - } - ] - }, - "description": "The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy." - } - }, - "type": "object" - }, - "AgentPoolDeleteMachinesParameter": { + "TimeInWeek": { "type": "object", + "description": "Time in a week.", "properties": { - "machineNames": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { "type": "array", + "description": "A list of hours in the day used to identify a time range. Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range.", "items": { - "type": "string" - }, - "description": "The agent pool machine names." + "$ref": "#/definitions/HourInDay" + } } - }, - "required": [ - "machineNames" - ], - "description": "Specifies a list of machine names from the agent pool to be deleted." + } }, - "TrustedAccessRoleRule": { + "TimeSpan": { "type": "object", - "description": "Rule for trusted access role", + "description": "A time range. For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z.", "properties": { - "verbs": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "List of allowed verbs" - }, - "apiGroups": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "List of allowed apiGroups" - }, - "resources": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "List of allowed resources" - }, - "resourceNames": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "List of allowed names" + "start": { + "type": "string", + "format": "date-time", + "description": "The start of a time span" }, - "nonResourceURLs": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "List of allowed nonResourceURLs" + "end": { + "type": "string", + "format": "date-time", + "description": "The end of a time span" } } }, @@ -8793,48 +9888,73 @@ "properties": { "sourceResourceType": { "type": "string", - "readOnly": true, - "description": "Resource type of Azure resource" + "description": "Resource type of Azure resource", + "readOnly": true }, "name": { "type": "string", - "readOnly": true, - "description": "Name of role, name is unique under a source resource type" + "description": "Name of role, name is unique under a source resource type", + "readOnly": true }, "rules": { "type": "array", - "readOnly": true, + "description": "List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole).", "items": { "$ref": "#/definitions/TrustedAccessRoleRule" }, - "x-ms-identifiers": [], - "description": "List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole)." + "readOnly": true, + "x-ms-identifiers": [] } } }, - "TrustedAccessRoleBindingProperties": { + "TrustedAccessRoleBinding": { "type": "object", - "description": "Properties for trusted access role binding", + "description": "Defines binding between a resource and role", + "properties": { + "properties": { + "$ref": "#/definitions/TrustedAccessRoleBindingProperties", + "description": "Properties for trusted access role binding", + "x-ms-client-flatten": true + } + }, "required": [ - "sourceResourceId", - "roles" + "properties" ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "TrustedAccessRoleBindingListResult": { + "type": "object", + "description": "The response of a TrustedAccessRoleBinding list operation.", "properties": { - "provisioningState": { + "value": { + "type": "array", + "description": "The TrustedAccessRoleBinding items on this page", + "items": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + } + }, + "nextLink": { "type": "string", - "readOnly": true, + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "TrustedAccessRoleBindingProperties": { + "type": "object", + "description": "Properties for trusted access role binding", + "properties": { + "provisioningState": { + "$ref": "#/definitions/TrustedAccessRoleBindingProvisioningState", "description": "The current provisioning state of trusted access role binding.", - "enum": [ - "Canceled", - "Deleting", - "Failed", - "Succeeded", - "Updating" - ], - "x-ms-enum": { - "name": "TrustedAccessRoleBindingProvisioningState", - "modelAsString": true - } + "readOnly": true }, "sourceResourceId": { "type": "string", @@ -8843,321 +9963,411 @@ }, "roles": { "type": "array", + "description": "A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'.", "items": { "type": "string" - }, - "description": "A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'." + } } - } - }, - "TrustedAccessRoleBinding": { - "type": "object", - "description": "Defines binding between a resource and role", + }, "required": [ - "properties" - ], - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" - } + "sourceResourceId", + "roles" + ] + }, + "TrustedAccessRoleBindingProvisioningState": { + "type": "string", + "description": "The current provisioning state of trusted access role binding.", + "enum": [ + "Canceled", + "Deleting", + "Failed", + "Succeeded", + "Updating" ], - "properties": { - "properties": { - "$ref": "#/definitions/TrustedAccessRoleBindingProperties", - "x-ms-client-flatten": true - } + "x-ms-enum": { + "name": "TrustedAccessRoleBindingProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Canceled", + "value": "Canceled" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Updating", + "value": "Updating" + } + ] } }, - "TrustedAccessRoleBindingListResult": { + "TrustedAccessRoleListResult": { "type": "object", - "description": "List of trusted access role bindings", + "description": "List of trusted access roles", "properties": { "value": { "type": "array", + "description": "The TrustedAccessRole items on this page", "items": { - "$ref": "#/definitions/TrustedAccessRoleBinding" - }, - "description": "Role binding list" + "$ref": "#/definitions/TrustedAccessRole" + } }, "nextLink": { - "description": "Link to next page of resources.", "type": "string", - "readOnly": true + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, - "TrustedAccessRoleListResult": { + "TrustedAccessRoleRule": { "type": "object", - "description": "List of trusted access roles", + "description": "Rule for trusted access role", "properties": { - "value": { + "verbs": { + "type": "array", + "description": "List of allowed verbs", + "items": { + "type": "string" + }, + "readOnly": true + }, + "apiGroups": { + "type": "array", + "description": "List of allowed apiGroups", + "items": { + "type": "string" + }, + "readOnly": true + }, + "resources": { + "type": "array", + "description": "List of allowed resources", + "items": { + "type": "string" + }, + "readOnly": true + }, + "resourceNames": { + "type": "array", + "description": "List of allowed names", + "items": { + "type": "string" + }, + "readOnly": true + }, + "nonResourceURLs": { "type": "array", - "readOnly": true, + "description": "List of allowed nonResourceURLs", "items": { - "$ref": "#/definitions/TrustedAccessRole" + "type": "string" }, - "x-ms-identifiers": [ - "sourceResourceType", - "name" - ], - "description": "Role list" - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", "readOnly": true } } }, - "CapacityReservationGroupID": { + "Type": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ + "description": "The week index. Specifies on which week of the month the dayOfWeek applies.", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true, + "values": [ + { + "name": "First", + "value": "First", + "description": "First week of the month." + }, + { + "name": "Second", + "value": "Second", + "description": "Second week of the month." + }, + { + "name": "Third", + "value": "Third", + "description": "Third week of the month." + }, + { + "name": "Fourth", + "value": "Fourth", + "description": "Fourth week of the month." + }, { - "type": "Microsoft.Compute/CapacityReservationGroups" + "name": "Last", + "value": "Last", + "description": "Last week of the month." } ] - }, - "description": "The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines. This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}' Customers use it to create an agentpool with a specified CRG. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview)" + } }, - "Machine": { - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } + "UndrainableNodeBehavior": { + "type": "string", + "description": "Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.", + "enum": [ + "Cordon", + "Schedule" ], - "description": "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.", - "properties": { - "zones": { - "type": "array", - "items": { - "type": "string" + "x-ms-enum": { + "name": "UndrainableNodeBehavior", + "modelAsString": true, + "values": [ + { + "name": "Cordon", + "value": "Cordon", + "description": "AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state." }, - "readOnly": true, - "description": "The Availability zone in which machine is located." + { + "name": "Schedule", + "value": "Schedule", + "description": "AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes." + } + ] + } + }, + "UpgradeChannel": { + "type": "string", + "description": "The upgrade channel for auto upgrade. The default is 'none'. For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel).", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "name": "UpgradeChannel", + "modelAsString": true, + "values": [ + { + "name": "rapid", + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." + }, + { + "name": "stable", + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." + }, + { + "name": "patch", + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "name": "node-image", + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching" + }, + { + "name": "none", + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] + } + }, + "UpgradeOverrideSettings": { + "type": "object", + "description": "Settings for overrides when upgrading a cluster.", + "properties": { + "forceUpgrade": { + "type": "boolean", + "description": "Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution." }, - "properties": { - "$ref": "#/definitions/MachineProperties", - "description": "The properties of the machine" + "until": { + "type": "string", + "format": "date-time", + "description": "Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect." } - }, - "type": "object" + } }, - "MachineIpAddress": { - "description": "The machine IP address details.", + "UserAssignedIdentity": { + "type": "object", + "description": "Details about a user assigned identity.", "properties": { - "family": { - "description": "To determine if address belongs IPv4 or IPv6 family", - "enum": [ - "IPv4", - "IPv6" - ], - "readOnly": true, + "resourceId": { "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "IPFamily", - "values": [ - { - "description": "IPv4 family", - "value": "IPv4" - }, + "format": "arm-id", + "description": "The resource ID of the user assigned identity.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "description": "IPv6 family", - "value": "IPv6" + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" } ] } }, - "ip": { - "description": "IPv4 or IPv6 address of the machine", - "readOnly": true, - "type": "string" + "clientId": { + "type": "string", + "description": "The client ID of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object ID of the user assigned identity." } - }, - "readOnly": true, - "type": "object" + } }, - "MachineListResult": { - "description": "The response from the List Machines operation.", + "VirtualMachineNodes": { + "type": "object", + "description": "Current status on a group of nodes of the same vm size.", "properties": { - "nextLink": { - "description": "The URL to get the next set of machine results.", - "format": "uri", - "readOnly": true, - "type": "string" + "size": { + "type": "string", + "description": "The VM size of the agents used to host this group of nodes." }, - "value": { - "description": "The list of Machines in cluster.", - "items": { - "$ref": "#/definitions/Machine" - }, - "type": "array", - "x-ms-identifiers": [ - "id" - ] + "count": { + "type": "integer", + "format": "int32", + "description": "Number of nodes." } - }, - "type": "object" + } }, - "MachineNetworkProperties": { - "description": "network properties of the machine", + "VirtualMachinesProfile": { + "type": "object", + "description": "Specifications on VirtualMachines agent pool.", "properties": { - "ipAddresses": { - "description": "IPv4, IPv6 addresses of the machine", - "items": { - "$ref": "#/definitions/MachineIpAddress" - }, - "readOnly": true, - "type": "array", - "x-ms-identifiers": [] + "scale": { + "$ref": "#/definitions/ScaleProfile", + "description": "Specifications on how to scale a VirtualMachines agent pool." } - }, - "readOnly": true, - "type": "object" + } }, - "MachineProperties": { - "description": "The properties of the machine", + "WeekDay": { + "type": "string", + "description": "The weekday enum.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true, + "values": [ + { + "name": "Sunday", + "value": "Sunday" + }, + { + "name": "Monday", + "value": "Monday" + }, + { + "name": "Tuesday", + "value": "Tuesday" + }, + { + "name": "Wednesday", + "value": "Wednesday" + }, + { + "name": "Thursday", + "value": "Thursday" + }, + { + "name": "Friday", + "value": "Friday" + }, + { + "name": "Saturday", + "value": "Saturday" + } + ] + } + }, + "WeeklySchedule": { + "type": "object", + "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'.", "properties": { - "network": { - "$ref": "#/definitions/MachineNetworkProperties" + "intervalWeeks": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of weeks between each set of occurrences.", + "minimum": 1, + "maximum": 4 }, - "resourceId": { - "description": "Azure resource id of the machine. It can be used to GET underlying VM Instance", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Compute/virtualMachines" - }, - { - "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines" - } - ] - }, - "readOnly": true, - "type": "string" + "dayOfWeek": { + "$ref": "#/definitions/WeekDay", + "description": "Specifies on which day of the week the maintenance occurs." } }, - "readOnly": true, - "type": "object" - } - }, - "parameters": { - "ManagedNamespaceNameParameter": { - "name": "managedNamespaceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 63, - "pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?", - "description": "The name of the managed namespace.", - "x-ms-parameter-location": "method" - }, - "ResourceNameParameter": { - "name": "resourceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 63, - "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", - "description": "The name of the managed cluster resource.", - "x-ms-parameter-location": "method" - }, - "AgentPoolNameParameter": { - "name": "agentPoolName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-z][a-z0-9]{0,11}$", - "minLength": 1, - "maxLength": 12, - "description": "The name of the agent pool.", - "x-ms-parameter-location": "method" - }, - "ResourceTypeParameter": { - "name": "resource-type", - "in": "query", - "required": false, - "type": "string", - "description": "The resource type for which the OS options needs to be returned", - "x-ms-parameter-location": "method" + "required": [ + "intervalWeeks", + "dayOfWeek" + ] }, - "ServerFqdnParameter": { - "name": "server-fqdn", - "in": "query", - "required": false, - "type": "string", - "description": "server fqdn type for credentials to be returned", - "x-ms-parameter-location": "method" + "WindowsGmsaProfile": { + "type": "object", + "description": "Windows gMSA Profile in the managed cluster.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { + "type": "string", + "description": "Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + }, + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + } + } }, - "TrustedAccessRoleBindingNameParameter": { - "name": "trustedAccessRoleBindingName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of trusted access role binding.", - "pattern": "^([A-Za-z0-9-])+$", - "minLength": 1, - "maxLength": 24, - "x-ms-parameter-location": "method" - }, - "CredentialFormatParameter": { - "name": "format", - "in": "query", - "required": false, + "WorkloadRuntime": { "type": "string", + "description": "Determines the type of workload a node can run.", "enum": [ - "exec", - "azure" + "OCIContainer", + "WasmWasi", + "KataVmIsolation" ], "x-ms-enum": { - "name": "format", + "name": "WorkloadRuntime", "modelAsString": true, "values": [ { - "value": "azure", - "description": "Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26." + "name": "OCIContainer", + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "name": "WasmWasi", + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." }, { - "value": "exec", - "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + "name": "KataVmIsolation", + "value": "KataVmIsolation", + "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods. Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series." } ] - }, - "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", - "x-ms-parameter-location": "method" - }, - "MeshModeParameter": { - "name": "mode", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 24, - "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", - "description": "The mode of the mesh.", - "x-ms-parameter-location": "method" - }, - "MachineNameParameter": { - "type": "string", - "description": "host name of the machine", - "name": "machineName", - "in": "path", - "required": true, - "pattern": "^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$", - "x-ms-parameter-location": "method" - }, - "IgnorePodDisruptionBudgetParameter": { - "name": "ignore-pod-disruption-budget", - "in": "query", - "required": false, - "type": "boolean", - "description": "ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget", - "x-ms-parameter-location": "method" + } } - } + }, + "parameters": {} } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/tspconfig.yaml b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/tspconfig.yaml new file mode 100644 index 000000000000..184b5aaa13b2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/tspconfig.yaml @@ -0,0 +1,47 @@ +parameters: + "service-dir": + default: "sdk/containerservice" +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + omit-unreachable-types: true + emitter-output-dir: "{project-root}" + azure-resource-provider-folder: "resource-manager" + output-file: "{version-status}/{version}/managedClusters.json" + examples-dir: "{project-root}/examples" + arm-types-dir: "{project-root}/../../../../common-types/resource-management" + emit-lro-options: "all" + "@azure-tools/typespec-python": + emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-containerservice" + namespace: "azure.mgmt.containerservice" + generate-test: true + generate-sample: true + flavor: azure + "@azure-tools/typespec-java": + emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-containerservice-generated" + namespace: "com.azure.resourcemanager.containerservice.generated" + service-name: "Container Service" + flavor: azure + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/containerservice" + emitter-output-dir: "{output-dir}/{service-dir}/armcontainerservice" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armcontainerservice" + fix-const-stuttering: true + flavor: "azure" + generate-samples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true + "@azure-tools/typespec-ts": + service-dir: "sdk/containerservice" + flavor: azure + compatibility-lro: true + experimental-extensible-enums: true + emitter-output-dir: "{output-dir}/{service-dir}/arm-containerservice" + package-details: + name: "@azure/arm-containerservice" + +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager"